tomcat源码运行
tomcat各版本下載地址:
https://archive.apache.org/dist/tomcat/
下載8.0.11的tomcat src包并解壓,一開(kāi)始的我參照的tomcat源碼里BUILDING.txt進(jìn)行編譯運(yùn)行,
安裝了ant,在編譯的時(shí)候遇到ssl的如下報(bào)錯(cuò)
嘗試了去修改tomcat的server.xml里的Connector,然而ant編譯一直不成功。
最后發(fā)現(xiàn)其實(shí)下載的源碼做個(gè)小改動(dòng)就可以直接在IDE里進(jìn)行運(yùn)行調(diào)試了,完全不需要使用ant來(lái)編譯
上面的問(wèn)題如果有高手看到能幫忙解答下最好啦
1.在源碼的解壓目錄里添加pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.apache.tomcat</groupId><artifactId>Tomcat8.0</artifactId><name>Tomcat8.0</name><version>8.0</version><build><finalName>Tomcat8.0</finalName><sourceDirectory>java</sourceDirectory><resources><resource><directory>java</directory></resource></resources><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><encoding>UTF-8</encoding><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><dependency><groupId>org.easymock</groupId><artifactId>easymock</artifactId><version>3.4</version></dependency><dependency><groupId>ant</groupId><artifactId>ant</artifactId><version>1.7.0</version></dependency><dependency><groupId>wsdl4j</groupId><artifactId>wsdl4j</artifactId><version>1.6.2</version></dependency><dependency><groupId>javax.xml</groupId><artifactId>jaxrpc</artifactId><version>1.1</version></dependency><dependency><groupId>org.eclipse.jdt.core.compiler</groupId><artifactId>ecj</artifactId><version>4.5.1</version></dependency></dependencies> </project>2.通過(guò)File-->Open將源碼導(dǎo)入到idea中?
3.在源碼目錄下創(chuàng)建catalina-home目錄,復(fù)制webapps和conf到該目錄下
4.創(chuàng)建Application
5.啟動(dòng)tomcat
訪問(wèn)發(fā)現(xiàn)提示如下錯(cuò)誤:
原因是我們直接啟動(dòng)org.apache.catalina.startup.Bootstrap的時(shí)候沒(méi)有加載org.apache.jasper.servlet.JasperInitializer,從而無(wú)法編譯JSP。解決辦法是在tomcat的源碼org.apache.catalina.startup.ContextConfig中手動(dòng)將JSP解析器初始化:
context.addServletContainerInitializer(new JasperInitializer(), null);這樣就可以正常訪問(wèn)了
總結(jié)
以上是生活随笔為你收集整理的tomcat源码运行的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: JAVA通过反射获取方法真实参数名
- 下一篇: 解决Git中的fatal: refusi
