Eclipse导入Tomcat源码
http://www.cnblogs.com/huangfox/archive/2011/10/20/2218970.html
想要研究下Tomcat的體系結構或者源碼,最好將Tomcat的源碼導入到ide中,編寫實例進行代碼跟蹤(debug)。
這里參考了網上一些資料,將自己操作過程記個流水賬。
準備:
1.Tomcat源碼下載
這個里下載tomcat-6.0.33源碼。
2.ant安裝,用于編譯tomcat的源碼。
ant下載解壓后將其bin添加到系統環境path中。
3.IDE——選用Eclipse3.7。
?
=================================
第一步:
解壓Tomcat源碼,例如解壓到D:\tomcat\apache-tomcat-6.0.33-src。
第二步:
2.1)使用ant編譯tomcat源碼,在編譯之前需要下載相關的依賴項目。我們并不知道編譯需要哪些依賴項目,怎么辦?
讓ant來幫忙吧!我們只需要準備一個存放這些依賴項目的地方,例如d:\tomcat\basepath。
2.2)要讓ant工作起來,我們還要將apache-tomcat-6.0.33-src文件夾中的build.properties.default重命名為build.properties,
并且打開它,修改base.path=d:\tomcat\basepath。
2.3)下載依賴項目,進入命令控制臺,進入目錄D:\tomcat\apache-tomcat-6.0.33-src,執行命令:ant download。
2.4)等依賴項目下載好后,就可以編譯tomcat了。執行命令:ant。當編譯完成后,我們可以查看目錄D:\tomcat\apache-tomcat-6.0.33-src,
可以發現里面多了一個文件夾:output。
output文件夾的結構如下:
我們會發現這個結構和從安裝包里解壓出來的tomcat結構一致。
進入bin,啟動tomcat成功,就說明——ant編譯tomcat成功了!
?
=====================================
將tomcat源碼導入eclipse。
第一步:
在eclipse里新建一個java項目,例如:tomcat6。
第二步:
import->file system
在From directory選擇tomcat源碼,選擇java和test(如果你需要測試的話選擇test),如下圖:
在into folder中選擇我們剛新建的tomcat6,finish。
note:將java、test設置成source folder,java build path ->Source->Add folder...->選擇java和test。
現在項目結構如下圖所示:
第三部:導入jar包。
上面那些不爽的紅叉是因為缺少jar的原因,我們現在需要那些jar包呢?
test需要junit.jar,這個直接用eclipse里面的即可。
java中需要:
- ant.jar
- jaxrpc.jar
- org.eclipse.jdt.core_3.3.1.v_780_R33x.jar
- wsdl4j-1.5.1.jar
導入后就清爽了!
第四步:
在eclipse中啟動tomcat。
找到類:org.apache.catalina.startup包中的Bootstrap類。
run as:在Arguments的VM arguments中設置
-Dcatalina.home="d:\output\build"
然后就可以啟動了!
?
==========================================
問題:
為什么要設置-Dcatalina.home="d:\output\build"?
首先說明output是什么——它就是ant編譯出來的output文件夾,大家可以試試刪除里面的東西看還是否可以成功啟動。
如果不配置這個參數又會發生什么情況呢?刪除-Dcatalina.home="d:\output\build",報錯:
2011-10-20 14:49:35 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [D:\myWorkSpace\tomcat6\lib], exists: [false], isDirectory: [false], canRead: [false]
2011-10-20 14:49:35 org.apache.catalina.startup.ClassLoaderFactory validateFile
警告: Problem with directory [D:\myWorkSpace\tomcat6\lib], exists: [false], isDirectory: [false], canRead: [false]
2011-10-20 14:49:35 org.apache.catalina.startup.Catalina load
警告: Can't load server.xml from D:\myWorkSpace\tomcat6\conf\server.xml
2011-10-20 14:49:35 org.apache.catalina.startup.Catalina load
警告: Can't load server.xml from D:\myWorkSpace\tomcat6\conf\server.xml
2011-10-20 14:49:35 org.apache.catalina.startup.Catalina start
嚴重: Cannot start server. Server instance is not configured.
從中可以看出在項目的根目錄下沒有lib文件夾,沒有conf文件夾,conf中沒有server.xml,從而不能實例化server。
那么按照他的提示做,在啟動就ok了!
總結
以上是生活随笔為你收集整理的Eclipse导入Tomcat源码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决Could not reserve
- 下一篇: eclipse debug 重新指定源码