
1. 源码下载
https://tomcat.apache.org/download-80.cgi
我这里下载的是tomcat8;
- 为其添加catalina-home 文件夹、pom.xml文件如下:
- catalina-home 文件夹目录如下,其中conf、wbapps是从源码文件夹src内复制过来的
- pom.xml文件内容如下:
4.0.0 gxf apache-tomcat-8apache-tomcat-8-source 1.0 pom apache-tomcat-8.5.73-src
- 最后把xxx-src弄成maven项目的子模块,因此也需要添加一个pom.xml
pom.xml内容如下:
4.0.0 org.apache.tomcat Tomcat8.5.73Tomcat8.5.73 8.5 Tomcat8.0 java test java test org.apache.maven.plugins maven-compiler-plugin2.0.2 UTF-8 1.8 1.8 org.easymock easymock3.5 test junit junit4.12 test ant ant1.7.0 wsdl4j wsdl4j1.6.2 javax.xml jaxrpc1.1 org.eclipse.jdt.core.compiler ecj4.6.1
最后把用idea导入成maven项目,自此代码已经准备好了。
2. 源码部署
1.
首先需要配置下启动类,org.apache.catalina.startup.Bootstrap
启动的jvm参数
-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
配置完成启动类后,运行项目
项目TestXX报错相关测试类报错,找不到类路径,则注释整个类。
最后项目启动成功,浏览器访问localhost:8080,结果报错,
原因是我们直接启动org.apache.catalina.startup.Bootstrap的时候没有加载org.apache.jasper.servlet.JasperInitializer,从而无法编译JSP。解决办法是在tomcat的源码org.apache.catalina.startup.ContextConfig中手动将JSP解析器初始化。
然后再次启动,在浏览器访问locahost:8080
原文链接:https://blog.csdn.net/newbie0107/article/details/103174548
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)