tomcat源码运行
生活随笔
收集整理的這篇文章主要介紹了
tomcat源码运行
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
tomcat各版本下載地址:
https://archive.apache.org/dist/tomcat/
下載8.0.11的tomcat src包并解壓,一開始的我參照的tomcat源碼里BUILDING.txt進行編譯運行,
安裝了ant,在編譯的時候遇到ssl的如下報錯
嘗試了去修改tomcat的server.xml里的Connector,然而ant編譯一直不成功。
最后發現其實下載的源碼做個小改動就可以直接在IDE里進行運行調試了,完全不需要使用ant來編譯
上面的問題如果有高手看到能幫忙解答下最好啦
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.通過File-->Open將源碼導入到idea中?
3.在源碼目錄下創建catalina-home目錄,復制webapps和conf到該目錄下
4.創建Application
5.啟動tomcat
訪問發現提示如下錯誤:
原因是我們直接啟動org.apache.catalina.startup.Bootstrap的時候沒有加載org.apache.jasper.servlet.JasperInitializer,從而無法編譯JSP。解決辦法是在tomcat的源碼org.apache.catalina.startup.ContextConfig中手動將JSP解析器初始化:
context.addServletContainerInitializer(new JasperInitializer(), null);這樣就可以正常訪問了
總結
以上是生活随笔為你收集整理的tomcat源码运行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA通过反射获取方法真实参数名
- 下一篇: 解决Git中的fatal: refusi