构建 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.default
和 build.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-tomcat
和 stop-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 中有效。