探秘Tomcat(一)——Myeclipse中導入Tomcat源碼


  前言:有的時候自己不知道自己是井底之蛙,這並沒有什么可怕的,因為你只要蜷縮在方寸之間的井里,無數次的生活軌跡無非最終歸結還是一個圓形;但是可怕的是有一天你不得不從井里跳出來生活,需要重新審視井以外的生活,你就會發現世界如此美好,我知道的如此的少!

  好比,但你看到如下代碼

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. 微信

 

                      

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM