Tomcat10 源码构建
前言
本文的主要参考自项目下的 BUILDING.txt 文件,把 Tomcat 源码跑起来一共需要四步。环境:Windows + IDEA。其实还是建议大家去看看官方文档,按照文档的步骤走一遍,遇到问题再看看小抄,这样比较有意思 😁 其实我一开始也不知道该看哪里的,然后就直接去下了源码,发现里面有一个BUILDING.txt,就是指导构建的,看那个就行。
【注意】
:本文所说的跑源码指的是构建(build) Tomcat 项目,如果你只是想要运行 Tomcat,没必要去构建它。
去官网下载Tomcat的二进制发行版,再根据项目下的 RUNNING.txt ,把文件跑起来就行。
执行步骤
(1) 下载并安装JDK
Tomcat 要求的最低的 JDK 版本是 8,我们可以选择高一点的版本。
这个没有啥可讲的,不要忘记设置 JAVA_HOME 变量,网上很多教程,总之最后在命令行输入:
java -version
能输出jdk的版本就ok了,比如我这里安装的是 jdk 18。
(2) 安装 Ant
Ant 是构建工具, 要求的 Ant 的最低版本是 1.9.10。这个工具没有那么熟悉,我们展开讲讲。
- 如果你的电脑里已经安装过 Ant了,并且在命令行输入:
ant -version
能输出 ant 的版本号,请跳转到 (3)。
如果没能输出版本号,就继续下面的步骤。
-
我们去
Ant下载页面
,找到合适的版本下载,我选择了
最新版本1.10.12:
-
解压刚下载下来的压缩包,把压缩包放在一个你喜欢的路径下。我是把所有这类工具都放到了一个固定的
/tools 目录下,打理起来无敌方便,不妨你也试试 😃解压后的文件夹的名字是”apache-ant-[版本号]”,这个路径之后还要用我们把它记为 ”
an
t
.
h
o
m
e
”
(
不
需
要
任
何
操
作
,
就
是
拿
脑
子
记
一
下
,
{ant.home}”(不需要任何操作, 就是拿脑子记一下,
a
n
t
.
h
o
m
e
”
(
不
需
要
任
何
操
作
,
就
是
拿
脑
子
记
一
下
,
{ant.home} = 路径/apache-ant-[版本号])比如我的 ${ant.home} = F:\tools\apache-ant-1.10.12
-
在【高级系统设置】中配置 Ant 环境变量 ${ant.home},同时在PATH环境变量下新增 ${ant.home}/bin。
设置完之后在命令行输入:
ant -version
能输出 ant 的版本号,环境变量就设置成功了:
(3) 构建 Tomcat
3.1 下载 Tomcat 源码
下载方式很多,我是直接去 Github 下了压缩包:
Tomcat 出过很多版本,都在这个 github 项目里头。点击 main 这个按钮,然后发现又两个选项卡。
一个是 Branches,发现项目里一共有五个分支,除了 main 分支以外,就代表了已经发行的 4 个大版本。
我选择了 10.0.x,Tags 选项卡选的是小版本,我选择了 10.0.21,然后直接下载 code 的压缩包就行。
解压之后的 Tomcat 源码也要放在一个合适的目录下,同样的,我们记这个目录为 ${tomcat.source}。
比如我的 ${tomcat.source} = F:\tools\Tomcat\tomcat-10.0.21
3.2 构建
有了源码之后,我们就可以光明正大地用 IDEA 打开代码源码目录了 ${tomcat.source} = F:\tools\Tomcat\tomcat-10.0.21。
-
在 ${tomcat.source} 目录下右键新建 build.properties 文件。
-
在 build.properties 文件中加入 base.path=放构建依赖包的路径。这个 build.properties 文件中
的 base.path 属性指定的是 Tomcat 在构建时所需要的依赖的路径。
base.path=F:/tools/Tomcat/buildDependencies
【扩展】:其实也可以不新建,在同级目录下还有一个 build.properties.default 文件,里边是帮我们已经指定好的属性。而这两个文件都是在 build.xml 文件中被导入的,其中 build.properties 的优先级会更高一些。如果要指定属性,我们可以按需修改。但是不管你新不新建,这个base.path属性还是写自己的。
- 在 IDEA 终端进入源码目录,并运行 Ant
【注意】:新增了 ant 的环境变量,如果没有重启电脑是无法生效的。我尝试过,重启了 cmd,是可以使用 ant 的。
但是对于 IDEA 自带的终端,不管是重启终端还是重启 IDE 都会报找不到 Ant 的错误。
cd F:/tools/Tomcat/buildDependencies
ant
需要一段时间,ant 会帮助我们下载构建需要依赖的库。
打开我们设置的放构建依赖包的目录 base.path 就会发现已经下好了这些依赖:
至此,源码已经构建完毕了,产生的结果在 output/classes 目录下。
(4) 将目录设置为代码源文件
我们看源码的时候,如果类和函数之间不能自动跳转就挺别扭的。还需要将目录设为源文件,IDEA才能帮我们识别。
-
点击【Project Setting】=》【Modules】=》选择源码的目录 =》选择【Sources】=》选择【Java】目录 =》点击【OK】
害,后面不想写了。反正 (4) 这部分我也是参考
使用Ant从零开始搭建tomcat源码环境
的。大家移步他的博客叭,我觉得这部分他写得挺详细的,谢谢他的指导😁
参考文献
https://blog.csdn.net/xu1204013031/article/details/111766400
https://www.bilibili.com/read/cv8796740