渴望去干点什么,又不知道干点什么,《How Tomcat Works 》走进了我的世界。
书中使用的是tomcat4版本距离比遥远,很多实现已经过时。当前使用的tomcat9来进行探索与学习。
下面是tomcat源码启动主要步骤:
step1.
从github克隆代码
https://github.com/apache/tomcat.git
cd tomcat
git checkout 9.0.x
step2.
安装ant并设置path
如果当前JDK版本小于17,需要下载JDK17
https://mirrors.huaweicloud.com/openjdk/17.0.2/
将jdk17的java.exe设置到 C:\Program Files\apache-ant-1.10.14\bin\ant.bat
修改第119行。这里需要自己判断JDK17的安装路径
if "%_JAVACMD%" == "" set _JAVACMD=C:\Program Files\Java\jdk-17.0.2\bin\java.exe
step3.
使用ant命令ant ide-intellij 去生成IDE需要的支持文件
cd tomcat
ant ide-intellij
由于需要从网络下载需要的jar文件,耐心等待一段时间
step4.
执行命令
ant deploy
将会在当前项目下的output/build目录下生产执行目标文件
导入项目到ide-intellij
step5.
找到Bootstrap.main()
设置启动参数,参数中的目录需要替换成上面ant deploy生成的目标目录
-Djava.util.logging.config.file=C:\myproject\tomcat\output\build\conf\logging.properties
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djdk.tls.ephemeralDHKeySize=2048
-Djava.protocol.handler.pkgs=org.apache.catalina.webresources
-Dignore.endorsed.dirs=
-Dcatalina.base=C:\myproject\tomcat\output\build\
-Dcatalina.home=C:\myproject\tomcat\output\build\
-Djava.io.tmpdir=C:\myproject\tomcat\output\build\temp
设置启动命令
start
具体如图