下载tomcat源码(以7.0.109为例)
https://gitee.com/apache/tomcat/tree/7.0.x/
https://github.com/apache/tomcat/tree/7.0.x
https://gitee.com/lixl/tomcat-maven/tree/7.0.109/
编写pom.xml
1 |
|
注意:编译后如有报错,注释掉报错的代码即可
运行org.apache.catalina.startup.Bootstrap
main方法运行
1
2
3
4-Dcatalina.home=path\to\home
-Dcatalina.base=path\to\home
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=path\to\home\conf\logging.propertiesjar包运行
java -cp lib/apache-tomcat-7.0.20210423.jar org.apache.catalina.startup.Bootstrap
其他
控制台乱码
org.apache.catalina.startup.VersionLoggerListener#log
打印中文乱码
原因:org.apache.tomcat.util.res.StringManager
中使用ResourceBundle bundle.getString(key)
打印中文;
而ResourceBundle读取文本使用的ISO-8859-1
编码不支持中文导致的
解决:
1 | org.apache.tomcat.util.res.StringManager#getString |
webapps/examples启动报错
移除掉源码中的examples目录, 重新编译即可
https://gitee.com/lixl/tomcat-maven/tree/tomcat-7.0.108-examples/