1.下載tomcat源碼
我這里下載的是 apache-tomcat-8.0.53-src.zip
2.新建maven工程
我這里創建一個maven工程,名稱為 apache-tomcat-8.0.53-src
3.pom.xml中添加相關依賴
<dependency> <groupId>ant</groupId> <artifactId>ant</artifactId> <version>1.6.5</version> </dependency> <dependency> <groupId>org.eclipse.birt.runtime.3_7_1</groupId> <artifactId>javax.wsdl</artifactId> <version>1.5.1</version> </dependency> <dependency> <groupId>org.eclipse.jdt</groupId> <artifactId>org.eclipse.jdt.core</artifactId> <version>3.10.0</version> </dependency> <dependency> <groupId>javax.xml</groupId> <artifactId>jaxrpc</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest</artifactId> <version>2.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.easymock</groupId> <artifactId>easymock</artifactId> <version>3.4</version> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> <scope>test</scope> </dependency>
4.拷貝源碼包下的目錄
- 將解壓的源碼下的 conf目錄、webapps目錄、拷貝至新建項目的根目錄
- 將解壓的源碼下的 java目錄、test目錄 src\main 目錄下
- 刪除webapps目錄下的 examples 目錄(否則啟動的過程中會提示找不到類)
目錄結構如下:

5.修改 ContextConfig 中的 configureStart() 方法
在configureStart() 方法末尾添加這行代碼: context.addServletContainerInitializer(new JasperInitializer(), null);
6.啟動
找到BootStarp 類,執行main方法就可以啟動tomcat了