搭建 Tomcat 源码调试环境

1. 下载代码

1
git clone  git@github.com:apache/tomcat.git

2. 安装ant

  1. 我本地安装的是 1.10.12 版本, ant 下载地址
  2. 配置环境变量 ANT_HOME, 加入到 PATH 环境变量中
  3. 执行命令验证 ant -version

3. 导入到 idea 中

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 进入 tomcat 根目前
cd tomcat 

# 复制配置文件 build.properties
cp build.properties.default build.properties

# 更改 build.properties 中的配置
base.path=第三方jar的下载目录

# 设置 idea
ant ide-intellij

# 执行编译命令, 会生成 output 目录
ant deploy

然后用 idea 打开项目,idea 会弹出让你配置下面的变量

1
2
ANT_HOME          = ${ant.home}
TOMCAT_BUILD_LIBS = ${base.path}

4. idea 中 配置

  • 检查你的项目依赖有没有问题

项目依赖配置
项目依赖配置

上面的三个依赖,其实就是 ServletContainerInitializer 的实现, 比如 res/META-INF/jasper.jar/services/jakarta.servlet.ServletContainerInitializer.

  • 更改配置文件 conf/server.xml
1
2
# 改为编译输出目录
appBase="output/build/webapps"
  • 运行程序

org.apache.catalina.startup.Bootstrap#main

0%