公司服务器上的 tomcat 使用的版本是7.0.42
,所以这里调试使用的源码版本也是7.0.42
。
一般使用 maven 来管理代码,所以我们要创建一个 maven 工程来承接 tomcat 源码。搭建步骤如下:
- idea 创建 maven 工程。不需要使用任何模版。
- 解压源码,将 java 文件夹的内容拷贝到 java 中,conf 和 webapps 文件夹拷贝到 resources 中。
- 找到
Bootstrap
类,直接启动 main 函数,发现会报很多错。此时我们需要修改 pom 文件,解决 tomcat 的包依赖。 - 修改 pom 文件,见下文。
- 再运行,发现还是有错。观察发现,需要设置 vm 启动参数。
1 | -Dcatalina.home=target/classes/ |
如果觉得这样下载源码再配置很麻烦,可以直接到Tomcat7_0_42-mavenclone 项目源码,按照 README 操作即可。
我们启动Bootstrap
的main
函数,控制台显示如下信息即为成功:
1 | Dec 27, 2017 5:25:53 PM org.apache.coyote.AbstractProtocol start |
浏览器输入http://localhost:8080/
,可以看到那只经典的猫。
code
pom.xml
1 | <?xml version="1.0" encoding="UTF-8"?> |