构建 Tomcat

目录

简介

从源代码构建 Apache Tomcat 非常简单,也是为 Tomcat 做出贡献的第一步。完整详细的说明在文件 BUILDING.txt 中提供。以下是一个快速的分步指南。

下载 Java 开发工具包 (JDK)

构建 Apache Tomcat 需要安装 JDK 22 或更高版本。您可以从 https://adoptium.net/temurin/releases 或其他 JDK 供应商处下载。

重要提示:将环境变量 JAVA_HOME 设置为您安装 JDK 版本的目录路径。

安装 Apache Ant

此处下载 Ant 1.10.2 或更高版本的二进制分发版。

将二进制分发版解压到方便的位置,使 Ant 版本位于其自己的目录中(通常命名为 apache-ant-[version])。在本指南的其余部分,符号名称 ${ant.home} 用于指代 Ant 安装目录的完整路径名。

重要提示:创建一个 ANT_HOME 环境变量指向目录 ${ant.home},并修改 PATH 环境变量以在其列表中包含目录 ${ant.home}/bin。这将使 ant 命令行脚本可用,该脚本将用于实际执行构建。

获取 Tomcat 源代码

Tomcat Git 仓库 URL:https://github.com/apache/tomcat

Tomcat 源代码包:https://tomcat.net.cn/download-11.cgi

使用 Git 克隆源代码仓库,选择已发布版本的标签或当前开发代码的 main 分支,或者下载并解压源代码包。在本指南的其余部分,符号名称 ${tomcat.source} 用于指代源代码所在的位置。

配置下载区域

构建 Tomcat 涉及下载它所依赖的许多库。强烈建议为这些库配置下载区域。

默认情况下,构建配置为将依赖项下载到 ${user.home}/tomcat-build-libs 目录中。您可以更改此设置(见下文),但它必须是绝对路径。

通过创建 ${tomcat.source}/build.properties 文件来控制构建。它可以用于重新定义 build.properties.defaultbuild.xml 文件中存在的任何属性。build.properties 文件默认不存在。您必须创建它。

下载区域由属性 base.path 定义。例如

# ----- Default Base Path for Dependent Packages -----
# Replace this path with the directory path where
# dependencies binaries should be downloaded.
base.path=/home/me/some-place-to-download-to

不同版本的 Tomcat 允许共享相同的下载区域。

另一个例子

base.path=${user.dir}/../libraries-tomcat11.0

通过代理访问互联网的用户必须使用属性文件向 Ant 指示代理配置。

# ----- Proxy setup -----
proxy.host=proxy.domain
proxy.port=8080
proxy.use=on

构建 Tomcat

使用以下命令构建 Tomcat

cd ${tomcat.source}
ant

构建成功完成后,将在 ${tomcat.source}/output/build 目录中生成一个可用的 Tomcat 安装,并且可以使用常规脚本启动和停止。

使用 Eclipse 构建

重要提示:这不是构建 Tomcat 的受支持方法;此信息不提供任何担保 :-)。构建 Tomcat 的唯一受支持方法是使用上述 Ant 构建。然而,有些开发人员喜欢使用 Java IDE 处理 Java 代码,以下步骤已被一些开发人员使用。

注意:这不会让您在 Eclipse 下构建所有内容;构建过程的许多阶段并非简单的 Java 编译,因此需要使用 Ant。但是,它将允许您查看和编辑 Java 代码、获取警告、重新格式化代码、执行重构、在 IDE 下运行 Tomcat 等。

警告:在运行任何 Ant 目标之前,请不要忘记按照上述说明创建和配置 ${tomcat.source}/build.properties 文件。

示例 Eclipse 项目文件和启动目标在源代码树的 res/ide-support/eclipse 目录中提供。以下说明将自动将其复制到所需位置。

提供了一个 Ant 目标,方便下载所有二进制依赖项,并在源代码树的根目录中创建 Eclipse 项目和类路径文件。

cd ${tomcat.source}
ant ide-eclipse

启动 Eclipse 并创建新的工作区。

使用文件->导入并选择将现有项目导入工作区。从那里选择 Tomcat 源代码树的根目录(${tomcat.source})并导入位于该处的 Tomcat 项目。

start-tomcatstop-tomcat 启动配置在 res/ide-support/eclipse 中提供,并将可在运行->运行配置对话框中找到。使用它们从 Eclipse 启动和停止 Tomcat。如果您想自行配置这些(或使用不同的 IDE),则使用 org.apache.catalina.startup.Bootstrap 作为主类,start/stop 等作为程序参数,并指定 -Dcatalina.home=...(带您的构建目录名称)作为 VM 参数。

调整一些格式偏好将使您更容易保持与 Tomcat 编码约定一致(并使您的贡献被接受)。

Java -> 代码样式 -> 格式化程序 -> 编辑... 制表符策略:仅空格
制表符和缩进大小:4
通用 -> 编辑器 -> 文本编辑器 显示的制表符宽度:2
用空格替换制表符
显示空白字符(可选)
XML -> XML 文件 -> 编辑器使用空格缩进
缩进大小:2
Ant -> 编辑器 -> 格式化程序制表符大小:2
使用制表符而不是空格:取消选中

编译器警告的推荐配置记录在 res/ide-support/eclipse/java-compiler-errors-warnings.txt 文件中。

使用其他 IDE 构建

相同的通用方法应该适用于大多数 IDE;例如,据报道它在 IntelliJ IDEA 中有效。