##下載tomcat7 源碼## 1.進入github:github tomcat70html
2.直接fork一個,而後在本地找一個目錄,運行java
git clone https://github.com/remind/tomcat70
##準備build## 1.在clone完畢後,就會直接看到一個build.xml,很明顯是要用ant來構建git
2.打開build.xml,裏面太多了~~,默認的是deploy,我運行了一下,發現沒太多變化,由於我是想要在eclipse裏面跑起來,因此我首先想的是看裏面有沒有與eclipse相關的,直接搜索了一下"eclipse",果真出現了一個 ![在此輸入圖片描述][1]github
這裏我原本是想直接複製代碼的,但這個"target"這一段MarkDown不顯示~~~apache
3.爲了保險起見,先肯定這東西是否是我要的,直接google,而後就出現了 ![][2]tomcat
點擊連接進去[http://tomcat.apache.org/tomcat-7.0-doc/building.html][3],全文搜索"eclipse",就看到了Building with Eclipse,原來官網已經有文檔說明了。eclipse
4.大概預覽了一下全文(因爲英語不怎麼的)~~,瞭解到運行腳本以後,還須要在eclipse中配置變量。ide
##building##ui
1.執行ant腳本google
ant ide-eclipse
這裏說一下,因爲我以前在搭建中發現用到了一些jdk7 nio方面的一些東西,因此我用jdk7編譯過,而我環境變量又是配置的jdk6,因此這裏開始報了一下class version的錯誤,我是直接git先回退了的,就是在執行上面腳本前先執行了一下
git reset --hard
這裏ant執行成功以後,就能夠看到文件夾下面已經出現了.classpath和.settings,就知道能夠直接導入了
2.打開eclipse,導入工程,而後配置變量,這裏首先是要配置的TOMCAT_LIBS_BASE,按官網說法是base.path,我開始覺得就是tomcat7工程所在目錄,結果配置進去發現不正確,沒有那幾個jar,我就又看了一下eclipse中的Libraries,我就想到我在下載依賴的過程當中還有一個文件夾F:\usr\share\java,這應該是自動生成的,這下面有不少jar,我想這就應該是tomcat要依賴的東西了,我就直接在工程目錄下面新建了一個lib文件夾,而後把F:\usr\share\java裏面的東西都複製到lib下面 ![][4]
而後修改eclipse中的變量,並寫上ant的變量,它這裏好像是要求要1.8以上的,我恰好就是~~ 而後整個Libraries就是:![Libraries][5]
3.運行 直接右鍵run as Java Application,會彈出一個選擇框 ![在此輸入圖片描述][6]
這個就直接選擇Bootstrap了,而後會再彈出一個選擇框 ![在此輸入圖片描述][7]
從這裏就能夠看出ant已經爲咱們配置了run的參數,因此直接選擇start-tomcat,成功運行~~
##總結## 1.運行時的參數設置,就是咱們在run時彈出的那個,進入run configurations中能夠看到有兩個,一個是start,一個是stop,他們的vm參數也同樣,都是-Dcatalina.home=${project_loc:/tomcat-7.0.x/java/org/apache/catalina/startup/Bootstrap.java}/output/build
,tomcat6的運行時的這些參數,我仍是直接根據startup.bat裏面去一步一步跟蹤出來,而後配置到這裏運行的,那時候好像不能直接用ant生成eclipse工程~~
2.成功運行以後個人整個工程目錄結構就是: ![工程目錄結構][8]
第一次用Markdown,發現這玩意兒真的很不錯寫起來方便,看起來也舒服回頭也給sublime text2安裝上 [1]: http://static.oschina.net/uploads/space/2013/1125/225735_BxYO_567671.jpg [2]: http://static.oschina.net/uploads/space/2013/1125/222905_hWOQ_567671.jpg [3]: http://tomcat.apache.org/tomcat-7.0-doc/building.html [4]: http://static.oschina.net/uploads/space/2013/1125/224310_M1wC_567671.jpg [5]: http://static.oschina.net/uploads/space/2013/1125/224433_0mNr_567671.jpg [6]: http://static.oschina.net/uploads/space/2013/1125/224616_BUJi_567671.jpg [7]: http://static.oschina.net/uploads/space/2013/1125/224706_tqUU_567671.jpg [8]: http://static.oschina.net/uploads/space/2013/1125/225154_tEeL_567671.jpg