调试tomcat源码有一段时间,有了一个大致的思路,为了避免遗忘,所以整理成笔记。
- 源码地址:
- 安装 jdk、maven环境(maven最好用阿里云仓库地址)
- mvn compile 编译项目
- idea打开项目,在根目录下新建一个目录catalina-home/webapps
- 启动类是 Bootstrap.java
- 配置启动参数
-Dcatalina.home=catalina-home -Dcatalina.base=catalina-home
-Djava.endorsed.dirs=catalina-home/endorsed -Djava.io.tmpdir=catalina-home/temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=catalina-home/conf/logging.properties
-
因为tomcat是一个web容器,可以承载web应用。因此我们就来创建一个web应用,这样也可以保证我们调试代码的连贯性,顺便也可以了解spring mvc。
创建web应用
- 创建Springboot web应用,代码如下
- 打成war包
-
-
将打好的war包放到tomcat源码工程的catalina-home/webapps下
-
运行 Bootstrap.main函数,完整的源码环境就ok了,我们可以启动 Bootstrap.java