搭建Tomcat 8源碼開發(fā)環(huán)境的步驟詳解
前言
最近在網(wǎng)上搜索了很多關(guān)于tomcat源碼環(huán)境搭建的文章,發(fā)現(xiàn)按照文章的步驟,幾乎都啟動不了,于是自己嘗試搭建,下面是搭建的方法。
基礎(chǔ)環(huán)境搭建
1、下載tomcat源代碼,我這里是通過svn的方式下載的,svn下載地址
2.下載安裝maven工具,這里我就不多說了,安裝說明太多了,自己網(wǎng)上找。
3.IDE,我這里使用idea
生成maven工程
我的代碼本地目錄是: /Users/helanzhou/Documents/helanzhou/java/Tomcat/tomcat8/tomcat-8.5.5-sourcecode
。先在該目錄下生成一個(gè)pom.xml文件,pom文件的內(nèi)容為:
<?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> <testSourceDirectory>test</testSourceDirectory> <resources> <resource> <directory>java</directory> </resource> </resources> <testResources> <testResource> <directory>test</directory> </testResource> </testResources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3</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>
在這里,我把java和test這兩個(gè)模塊到加載到pom工程里,你也可以選擇將test工程移除,這樣可以省不少事情。
在idea中導(dǎo)入tomcat pom工程
將tomcat的pom工程導(dǎo)入到idea中,這個(gè)時(shí)候,你可以找到tomcat的啟動類org.apache.catalina.startup.Bootstrap
, 找到main
方法,嘗試啟動tomcat,這個(gè)時(shí)候肯定是報(bào)錯(cuò)的,因?yàn)槟氵€有很多后面的步驟沒有完成。
1、需要設(shè)置一個(gè)運(yùn)行時(shí)的CATALINA_HOME目錄,你需要下載一個(gè)tomcat軟件的壓縮包,由于我選擇的是tomcat-8.5.5的源代碼,下載對應(yīng)的tomcat版本,tomcat下載地址
2、和tomcat-8.5.5-sourcecode這個(gè)目錄的上層目錄上,建一個(gè)和該目錄平行的目錄catalina-home,將tomcat軟件解壓后,在解壓的目錄下,將以下目錄拷貝到catalina-home中:
bin
conf
lib
logs
temp
webapps
work
在本地的目錄結(jié)構(gòu)是這樣的:
3、在idea的右上角找到run這個(gè)按鈕,旁邊有Edit Configurations...這個(gè)選項(xiàng),點(diǎn)擊它。得到一個(gè)彈出框。
在Man class:中填入,org.apache.catalina.startup.Bootstrap
在VM options:中填入,你剛剛設(shè)置catalina-home路徑,我的是:-Dcatalina.home="/Users/helanzhou/Documents/helanzhou/java/Tomcat/tomcat8/catalina-home"Working directory
是默認(rèn)的,不用管
Use class path of module里選擇Tomcat8.0,這個(gè)和你在pom.xml中的配置有關(guān)
JRE,我選擇的是1.8
如下圖:
4、保存上面的配置,然后在右上角選擇run,這個(gè)時(shí)候,可以啟動起來了,你可以在控制臺上看到下圖的啟動日志:
如果你將test工程也包含在pom工程里,有可能你會啟動失敗,報(bào)錯(cuò)的類是:TestCookieFilter.java 報(bào)里面的CookieFilter.java類不存在,你可以選擇注釋,也可以選擇實(shí)現(xiàn)該filter,我是注釋掉的。
5、打開chrome瀏覽器,輸入127.0.0.1:8080,這時(shí)候,你能夠得到下面的頁面:
這個(gè)時(shí)候,說明你的tomcat環(huán)境配置已經(jīng)成功了
總結(jié)
好了,以上就是搭建Tomcat8源碼開發(fā)的全部內(nèi)容,接下來,開啟你的tomcat源碼調(diào)試之旅吧!希望這篇文章對大家的學(xué)習(xí)或者工作能帶一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
在IDEA 2020.3.1中部署Tomcat并且創(chuàng)建第一個(gè)web項(xiàng)目的過程詳解
這篇文章主要介紹了在IDEA 2020.3.1中部署Tomcat并且創(chuàng)建第一個(gè)web項(xiàng)目,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02Linux下重啟多個(gè) tomcat 服務(wù)的腳本(推薦)
由于修改tomcat的配置文件或手動操作數(shù)據(jù)庫數(shù)據(jù)后,tomcat的緩存和redis的緩存很嚴(yán)重,需要經(jīng)常重啟tomcat來釋放緩存,經(jīng)常就是手動重啟。下面給大家分享Linux下重啟多個(gè) tomcat 服務(wù)的腳本,一起看看吧2017-06-06非常實(shí)用的Tomcat啟動腳本實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于非常實(shí)用的Tomcat啟動腳本的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Tomcat具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05直接雙擊啟動tomcat中的startup.bat閃退原因及解決方法
免安裝的tomcat雙擊startup.bat后,啟動窗口一閃而過,而且tomcat服務(wù)未啟動,下面與大家分享下原因及解決方法2014-08-08tomcat自定義Web部署文件中docBase和workDir的區(qū)別介紹
這篇文章主要給大家介紹了關(guān)于tomcat自定義Web部署文件中docBase和workDir的區(qū)別,文中介紹的很詳細(xì),有需要的可以參考借鑒,下面來一起看看吧。2016-12-12解決Tomcat的maxPostSize屬性的配置需要注意的問題
這篇文章主要介紹了解決Tomcat的maxPostSize屬性的配置需要注意的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07