Jetty源碼學習-編譯Jetty源碼二三事

工做小几個月了,JDK基礎和web應用框架學的的差很少了,開始學習Jetty源碼,費了小半天才編譯成功,把本身拆過的坑記錄下來。html

編譯前的環境:java

MAVEN 3.三、Eclips eLuna Service Release 1 (4.4.1) git

下載好MAVEN後,得把Eclipse中的maven配置爲下載的MAVEN具體請搜索其餘博文參考!github

  1. 下載源碼
  2. 導入eclipse
  3. 編譯源碼

 

1.下載源碼web

1.1 Jetty源碼能夠方便的在Github的Jetty工程主頁上下載,連接框架

1.2 進入主頁後,看了的頁面相似以下:eclipse

1.3 點擊Jetty工程主頁圖片的1處能夠出現下拉彈出菜單,你能夠按branch或者tag選擇不一樣版本的Jetty,本文使用的是Jetty 9.3.x,也就是快照版。maven

1.4 點擊Jetty工程主頁圖片的2處,顯示下載源碼包的方式,若是你沒有git客戶端或者不想安裝,點擊下載zip包的鏈接進行直接下載。學習

 

 

2. 導入eclipse測試

2.1 下載zip包成功後,進行解壓,jetty包的根目錄下文件一覽以下。在此,爲後面敘述方便,稱該目錄爲$myJettySourceRoot

該目錄(後續稱爲$myJettySourceRoot)中紅框圈中的兩個文件值得注意:

README.md是開發者團隊爲編譯源碼的開發者提供的一些提示的內容,可是別當真!徹底按他的作是編譯不會成功的!!!

porm.xml是Jetty工程的根porm文件。

2.2 打開Eclipse,選擇File->import->Maven->Exesting Maven Projects。選擇$myJettySourceRoot目錄,個人是C:\Users\Administrator\Downloads\jetty.project-jetty-9.3.x,以下圖,選擇全部工程。點擊「完成」開始導入,而後Maven會開始

下載依賴包,工程可能須要持續3個小時。中途出現的選項一概點「確認」和「resolve later」,可能會出現重啓Eclipse的選項,也點「確認」。

3. 編譯源碼

3.1導入成功後,Eclipse中目錄樹以下,找到Jetty-Protject工程鼠標右鍵,選擇run as->Maven clean,進行工程清理。

3.2 清理完成後,在選擇etty-Protject工程鼠標右鍵,選擇run as->run configuration。在Maven Bulid下新建一個build配置。按下圖配置:進行install、但跳過test。(由於有一些測試在本機上難以成功)。點擊「run」開始編譯,中途會出現失敗的場景,處理步驟參考3.3,重複幾遍後可編譯成功

3.3 編譯失敗的的處理參考。

在編譯中,常常會出現編譯失敗,查看控制檯信息會發現"Could not resolve dependencies for xxx:jar:test"的相似信息,出現這種狀況是jetty-project某個子模塊依賴了另外一個子模塊的test包,出現這種狀況,先在Eclipse中找到對應xxx的Maven工程,右鍵run as ->maven install。好比xxx是jetty-plus,就右鍵jetty-plus工程,run as ->maven install,先安裝這個子模塊的全部包,而後再執行3.2,重複幾回就能夠編譯成功。徹底編譯成功以下圖:

3.4 在$myJettySourceRoot\jetty-distribution\target\distribution目錄(個人目錄是C:\Users\Administrator\Downloads\jetty.project-jetty-9.3.x\jetty-distribution\target\distribution)下能夠查到編譯成功後的文件。

3.5 打開cmd,cd到該目錄下,輸入java -jar start.jar能夠啓動Jetty。

 

首發於博客園,原文轉載請註明出於grass_草

相關文章
相關標籤/搜索