前言:有的時候自己不知道自己是井底之蛙,這並沒有什么可怕的,因為你只要蜷縮在方寸之間的井里,無數次的生活軌跡無非最終歸結還是一個圓形;但是可怕的是有一天你不得不從井里跳出來生活,需要重新審視井以外的生活,你就會發現世界如此美好,我知道的如此的少!
好比,但你看到如下代碼
namespace Singleton { public class Singleton { private static Singleton singleton; private Singleton() { } public static Singleton GetInstance() { if (singleton == null) { singleton = new Singleton(); } return singleton; } } }
沒錯,這就是幾行代碼,在你還沒有接觸到什么是單例模式的時候,一個有好奇心的人會按照machine的執行過程走一遍這段代碼,一個善於總結的人在理解后還會細細體味這段代碼的奧妙之處,如果是一只剛出道的青蛙,或許一面之緣后就是代碼眼中過,啥也沒有留;相反,你如果深諳單例模式之道,你一眼就看出了這是單例模式,而且還是懶漢式。
說了這么多還是想說一句話:知識面很重要,思考很重要!
正文:言歸正傳,今天完成了如何Tomcat如何導入到Myeclipse中,以下是自己的操作步驟。
一:版本選型
Tomcat還是選擇經常用的Tomcat6,源碼下載鏈接:
http://tomcat.apache.org/download-60.cgi
Ant 選擇的版本是1.7(用作編譯Tomcat源碼使用),下載鏈接:
http://archive.apache.org/dist/ant/binaries/
Myeclipse版本:8.6
二:獲取Tomcat源碼
1.將下載好的apache-tomcat-6.0.43-src.zip解壓到某文件夾中,如D:\tomcat\apache-tomcat-6.0.43-src
2.使用Ant編譯Tomcat源碼
2.1配置Ant環境:
-
-
計算機-> 右鍵“屬性”->點擊“高級系統設置”->選擇“高級”選項卡->點擊“環境變量”,彈出對話框:
-
添加Ant_HOME: D:\安裝包\apache-ant-1.7.0-bin\apache-ant-1.7.0(我的ant解壓在D:\安裝包 下)
path: %ANT_HOME%\bin
-
- 驗證Ant配置是否成功
開始->運行->cmd,輸入ant -version得到
2.2使用Ant編譯Tomcat源碼
-
- 進入源碼所在目錄:
-
-
執行“ant download”命令,下載tomcat依賴的項目
-
-
- 執行ant命令,編譯成功,界面如下:
這時可以發現目錄D:\安裝包\apache-tomcat-6.0.43-src下多了個output文件夾,進入bin目錄,分別點擊startup.bat和shutdown.bat啟動和結束tomcat服務。
點擊startup.bat,Tomcat成功啟動:
三、Myeclipse中導入Tomcat源碼
1.新建Java Project,如TSTest
2.右鍵項目->Import->File System
選中tomcat源碼所在文件位置,勾選其中的java和test兩個文件夾,Into folder選擇當前新建的項目,如圖所示:
3.導入如下jar包:
注意,org.eclipse.jdt.core_3.5.2.v_981_R35x.jar可以在Myeclipse安裝的目錄....\AppData\Local\Genuitec\Common中找到
這樣tomcat源碼項目就不會報錯了。
4.運行tomcat源碼
進入org.apache.catalina.startup下的Bootstrap.java類,右鍵run as->Java Application
發現沒有正常啟動,控制台信息為:
2015-1-25 18:58:06 org.apache.catalina.startup.ClassLoaderFactory validateFile 警告: Problem with directory [D:\Users\Administrator\Workspaces\MyEclipse 8.6\TSTest\lib], exists: [false], isDirectory: [false], canRead: [false] 2015-1-25 18:58:06 org.apache.catalina.startup.ClassLoaderFactory validateFile 警告: Problem with directory [D:\Users\Administrator\Workspaces\MyEclipse 8.6\TSTest\lib], exists: [false], isDirectory: [false], canRead: [false] 2015-1-25 18:58:06 org.apache.catalina.startup.Catalina load 警告: Can't load server.xml from D:\Users\Administrator\Workspaces\MyEclipse 8.6\TSTest\conf\server.xml 2015-1-25 18:58:06 org.apache.catalina.startup.Catalina load 警告: Can't load server.xml from D:\Users\Administrator\Workspaces\MyEclipse 8.6\TSTest\conf\server.xml 2015-1-25 18:58:06 org.apache.catalina.startup.Catalina start 嚴重: Cannot start server. Server instance is not configured.
從提示信息可以看出是沒有加載server.xml等文件,通過查找發現需要在run as->run Configurations中的VM arguments中添加:
-Dcatalina.home="D:\tomcat\apache-tomcat-6.0.43-src\output\build"(該目錄為tomcat源碼所在目錄)
運行成功,控制台打印信息為:
以前無數次的啟動和終止tomcat,數這次最特別,真正的從源碼去控制Tomcat服務^_^
如果覺得有用,歡迎點贊,同時歡迎加入左邊公告欄群!
本文鏈接《探秘Tomcat(一)——Myeclipse中導入Tomcat源碼》
友情贊助
如果你覺得博主的文章對你那么一點小幫助,恰巧你又有想打賞博主的小沖動,那么事不宜遲,趕緊掃一掃,小額地贊助下,攢個奶粉錢,也是讓博主有動力繼續努力,寫出更好的文章^^。
1. 支付寶 2. 微信