构建 Tomcat
目录
简介
从源代码构建 Apache Tomcat 非常容易,这是为 Tomcat 做出贡献的第一步。完整且全面的说明在文件 BUILDING.txt 中提供。以下是快速的分步指南。
下载 Java 开发工具包 (JDK)
构建 Apache Tomcat 需要安装 JDK(版本 17)或更高版本。你可以从 https://adoptium.net/temurin/releases 或其他 JDK 供应商下载一个。
重要提示:将环境变量 JAVA_HOME 设置为安装 JDK 发行版的目录的路径名。
安装 Apache Ant
从 此处 下载 Ant 1.10.2 或更高版本的二进制发行版。
将二进制发行版解压到一个方便的位置,以便 Ant 发行版驻留在其自己的目录中(通常命名为 apache-ant-[版本]
)。在本指南的其余部分中,符号名称 ${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-10.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-tomcat10.1
通过代理访问互联网的用户必须使用属性文件向 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 中构建所有内容;构建过程需要使用 Ant 来完成许多不是简单的 Java 编译的阶段。但是,它将允许你查看和编辑 Java 代码、获取警告、重新格式化代码、执行重构、在 IDE 中运行 Tomcat 等。
警告:在运行任何 Ant 目标之前,不要忘记创建和配置 ${tomcat.source}/build.properties
文件,如上所述。
源代码树的 res/ide-support/eclipse
目录中提供了示例 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 中工作,例如。