tomcat源碼安裝並調試(一)

來源:互聯網
上載者:User

參考資料:

http://tomcat.apache.org/tomcat-6.0-doc/building.html

http://blog.csdn.net/huxin1/archive/2008/04/13/2289140.aspx

本次安裝在基於myeclipse8.0,JDK1.5。tomcat源碼是用subversion管理,首先要安裝subversion外掛程式。

1.安裝subversionr外掛程式

點擊help-->software updates-->add/remove sofeware-->add-->

a.在search中輸入subversion,會搜尋出相應的subversion項,選1.6版本的安裝

b.點擊add,在name中輸入你想要的名字如(subversion),在url中輸入http://subclipse.tigris.org/update_1.6.x

然後一路下一步就可以安裝好subversion的外掛程式

2.檢出tomcat項目

點擊file-->import-->svn-->從SVN栓出項目-->建立新的資產庫位置-->在url中輸入http://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/,接著一路下一步就OK了

3.編譯tomcat源碼

tomcat源碼是用ant編譯的,這裡就不介紹ant的安裝了,大家去查下資料。

在這裡可以使用myeclipse直接用ant來運行build.xml,也可以手動到tomcat項目目錄下運行ant命令。

本人採用的是後者。

首先,編譯時間要依賴一些包,ant在執行過程中會去下載。

在build.properties.default檔案中有相關的資訊,首先我們將build.properties.default改名為build.properties,

找到base.path=/usr/share/java,這個路徑是用來存放即將下載的檔案的目錄,因為我用windows作業系統,所以這個路徑要改掉,如我這裡使用base.path=E:/myeclipse8GA/workspace/tomcat6/share

然後,執行ant命令:ant download

執行這條命令可能會出錯,因為build.properties檔案中的某些己經失效了。

我在安裝時就出現了這個問題,主要體現在jdt.loc=http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.3.1-200709211145/eclipse-JDT-3.3.1.zip

這個路徑是我後來換上去的,最初的地址己經失效,但是我發現它下載的實在是太慢,於是在網上找了個地址,路徑為http://archive.eclipse.org/eclipse/downloads/drops/R-3.2-200606291905 /download.php?dropFile=eclipse-JDT-3.2.zip,但是我將這個路徑放到base.path後卻不起作用,於是直接下載後,解壓到E:/myeclipse8GA/workspace/tomcat6/share下面(ant下載好相關檔案後,會將其解壓)。切記是直接解壓到當前檔案夾,預設為eclipse檔案夾。

重新執行ant download顯示成功。

最後,直接執行ant命令,就會編譯成功了。中間可能會報什麼API過時之類的,但是影響不大。看其它檔案,好像說用JDK1.6好像會有問題,具體沒測試,沒有發言權。

對於用myeclipse來編譯的話,右擊build.xml-->run as-->選擇第二個ant build-->在target中選擇download點擊run,就會開始下載,時間可能有點長,因為jdt有19M,然後再右擊build.xml-->run as 選擇第一個ant build即可。就能完成編譯了。

下面是下載完成後的目錄結構:

編譯完成後,你會在tomcat項目目錄下發現多出了一個output目錄,下面有build與classes兩個子目錄,classes為類的位元組碼檔案,build下面就跟正常tomcat安裝後的目錄一個樣。

4.除去多餘的classpath引用

完成前面幾步,重新整理myeclipse中的tomcat項目,你會發現有個紅叉,表示有錯誤存在。請右擊該項目,在快顯功能表中選擇 build path-->configue build path,然後刪除兩個以 TOMCAT_LIBS 開頭的兩個庫檔案,只保留一個 JRE 庫檔案,然後點擊“ OK ”按鈕

5.添加依賴包

tomcat源檔案要依賴一些jar包,否則會報編譯錯誤.

ant.jar (請在ant安裝目錄的lib子目錄中拷貝)

commons-collections-3.1.jar (從剛才Ant下載的commons-collections-3.1子目錄中拷貝)

commons-dbcp-1.2.1.jar(從剛才Ant下載的commons-dbcp-1.2.1子目錄中拷貝)

commons-logging-1.1.jar(如果您本機沒有這個jar包,請從http://commons.apache.org/downloads/download_logging.cgi處下載)

commons-pool-1.2.jar(從剛才Ant下載的commons-pool-1.2子目錄中拷貝)

org.eclipse.jdt.core_3.2.0.v_671.jar(從剛才Ant下載的eclipse\plugins子目錄中拷貝)
6.啟動tomcat

在 Eclipse 中運行 Tomcat 。請找到 Tomcat 的啟動主類 org.apache.catalina.startup.Bootstrap ,右擊這個類,在快顯功能表中選擇“ Run As…”--> ”Open Run Dialog…” ,然後在彈出的“ Run ”視窗中填入程式運行參數“ start” 和 JVM 運行參數 catalina.home ,如下面視窗所示


點擊run就能啟動tomcat了。

7.段點調試

右擊org.apache.catalina.startup.Bootstrap-->debug as -->java application,讓tomcat以debug形式啟動,

找到org.apache.jasper.compiler.Compiler 類,在 generateJava() 方法的第一行打一個斷點,然後訪問http://localhost:8080/examples/jsp/,點擊頁面中的execute,因為在頁面內容不變的情況下,jsp頁面不會重新編譯,所以你第一次點擊某個execute時,myeclipse進入debug模式,再點的時候卻沒反應了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.