天天看點

搭建Tomcat8源碼開發

開源軟體tomcat,目前幾乎已經是java web開發的必備軟體了,目前有很多關于tomcat的書籍,但是裡面介紹的大多是關于tomcat的配置,已經通過配置對tomcat進行一些跟應用業務功能的調優,作為一個java開發人員,感覺如果僅僅隻是了解一些配置,可能稍微少了一點什麼,最好能夠深入到源代碼中進行學些和了解。

在google上搜尋了很多關于tomcat源碼環境搭建的文章,發現按照文章的步驟,幾乎都啟動不了,于是自己嘗試搭建,下面是搭建的方法。

2.下載下傳安裝maven工具,這裡我就不多說了,安裝說明太多了,自己網上找。

3.ide,我這裡使用idea

我的代碼本地目錄是:<code>/users/helanzhou/documents/helanzhou/java/tomcat/tomcat8/tomcat-8.5.5-sourcecode</code>。先在該目錄下生成一個<code>pom.xml</code>檔案,pom檔案的内容為:

在這裡,我把<code>java</code>和<code>test</code>這兩個子產品到加載到pom工程裡,你也可以選擇将<code>test</code>工程移除,這樣可以省不少事情。

将tomcat的pom工程導入到idea中,這個時候,你可以找到tomcat的啟動類<code>org.apache.catalina.startup.bootstrap</code>, 找到<code>main</code>方法,嘗試啟動tomcat,這個時候肯定是報錯的,因為你還有很多後面的步驟沒有完成。

2.和<code>tomcat-8.5.5-sourcecode</code>這個目錄的上層目錄上,建一個和該目錄平行的目錄<code>catalina-home</code>,将tomcat軟體解壓後,在解壓的目錄下,将以下目錄拷貝到<code>catalina-home</code>中:

bin conf lib logs temp webapps work

在本地的目錄結構是這樣的:

搭建Tomcat8源碼開發

3.在idea的右上角找到<code>run</code>這個按鈕,旁邊有<code>edit configurations...</code>這個選項,點選它。得到一個彈出框。

在<code>man class:</code>中填入,<code>org.apache.catalina.startup.bootstrap</code> 在<code>vm options:</code>中填入,你剛剛設定<code>catalina-home</code>路徑,我的是:<code>-dcatalina.home="/users/helanzhou/documents/helanzhou/java/tomcat/tomcat8/catalina-home"</code> <code>working directory</code>是預設的,不用管 <code>use class path of module</code>裡選擇<code>tomcat8.0</code>,這個和你在<code>pom.xml</code>中的配置有關 <code>jre</code>,我選擇的是1.8

如下圖:

搭建Tomcat8源碼開發

4.儲存上面的配置,然後在右上角選擇<code>run</code>,這個時候,可以啟動起來了,你可以在控制台上看到下圖的啟動日志:

搭建Tomcat8源碼開發

如果你将<code>test</code>工程也包含在pom工程裡,有可能你會啟動失敗,報錯的類是:<code>testcookiefilter.java</code> 報裡面的<code>cookiefilter.java</code>類不存在,你可以選擇注釋,也可以選擇實作該filter,我是注釋掉的。

5.打開<code>chrome</code>浏覽器,輸入<code>127.0.0.1:8080</code>,這時候,你能夠得到下面的頁面:

搭建Tomcat8源碼開發

這個時候,說明你的tomcat環境配置已經成功了,接下來,開啟你的tomcat源碼調試之旅吧!