IvyDE--類路徑容器

IvyDE的類路徑容器可與幫助你管理java Eclipse工程的類路徑,基於你工程中Ivy文件裏聲明的依賴關係。java

能夠在容器裏執行的任務以下:瀏覽器

  1. 建立一個容器:eclipse

    快速建立:對於多數工程來講ivy.xml(或pom.xml)文件已經在java工程裏了。因此你能夠在ivy.xml上右擊,而後選擇「Add Ivy Library...「,就能夠直接訪問已經默認填好的類路徑容器設置。maven

    標準建立:添加IvyDE類路徑容器額標準方式是使用Eclipse的」Build Path「:右擊工程選擇Build Path-->Add Libraries,而後選擇"IvyDE Managed Dependencies"工具

    而後選擇ivy.xml或者maven pom.xml以及須要的配置單元測試

    你可能須要給你的工程使用特定的設置,和global不同的配置。勾上"Enable project specific settings",選擇你本身的ivysettings.xml測試

    如今類路徑已經設置好了,你能夠在一個獨特的package explorer的文件夾(文件夾名字=ivy-file-name[conf1,conf2])看到全部的依賴
    ui

  2. 編輯類路徑設置spa

    在工程的生命週期中,你能夠改變ivy.xml文件或者maven pom.xml,也能夠改變它們的配置。這些屬性能夠從IvyDE 類路徑容器的內容菜單訪問命令行

    你也能夠同多build path 配置來編輯:

    打開build path-->Configure Build path...,選擇"Libraries"面板,選中IvyDE 類路徑容器,而後點擊」Edit「按鈕,IvyDE雷陸機構容器配置對話框就會跳出來


  3. 啓動解析依賴關係

    你能夠明確的從類路徑容器啓動Ivy依賴解析,這個命令會調用」resolve「Ivy 任務,更新你的類路徑容器。

    還有一個」refresh「動做:這個動做和resolve類似,可是若是報告已經在cache中存在,它並不會執行徹底的解析。若是你使用Apache Ant 和命令行工做這個尤爲有用,它可使你避免執行兩次徹底解析。這個也是在Eclipse workspace打開的時候類路徑容器的默認執行動做(Windows > Preferences > Ivy),事實上是將類路徑容器恢復到上次關閉workspace時的狀態,前提是沒有其餘對ivy.xml同時進行的操做。

    還有一個」reload settings「動做:IvyDE默認在每次須要解析的時候重載ivy settings 文件。可是假如ivy settins 文件是遠程的,這個操做回事用戶體驗很慢。爲了不這種體驗,你能夠在preference頁面,選擇只在須要時加載,而後使用菜單上的」reload settings「動做。

    你也能夠經過Eclipse工具條上的按鈕來觸發工做空間裏全部IvyDE類路徑容器的解析(resolve,不是refresh!)

    啓動選中工程的解析:

    選擇你想解析的工程-->右擊打開菜單-->選擇Ivy-->Resolve


  4. 檢索工程的依賴

    可使類路徑容器由檢索的依賴組成,jars可使用一個特定的模式從工程中檢索而且組成一個容器,以此能夠替代指向Ivy cache裏的jar文件組成的容器。

    檢索模式(Retrieve pattern)指定了相對工程的依賴拷貝路徑

    」Delete old retrieved artifacts「選項能夠是IvyDE在每次檢索前狀況輸出文件夾。注意,若是選擇了改選項,除了那些以前被IvyDE檢索到容器中其餘組件的都會被刪除

    最後,你能夠選擇那些類型的組件能夠被檢索(*表示全部)

  5. 在Eclipse的workspace解析依賴關係

    有些工程師由多個模塊組成,這些模塊之間一般都會有依賴,而這些依賴是由Apache Ivy 管理。Eclipse能夠根據工程之間的依賴關係計算工程的構建順序。爲了利用這一優勢,Apache IvyDE有能力將項目引用添加到位於workspace的依賴關係中,用於替代從庫中下載其發佈的組件。這樣一來,開發能夠在構建和發佈組件到庫裏以前就開發多模塊應用以及測試這些模塊之間的交互。

    考慮到每一個多模塊應用的多個項目都有大量代碼。不少開發都有過這樣的經歷,儘管開發工做只在應用的幾個獨立部分進行(可能只有一個或兩個工程),可是還得等到Eclipse將全部的相關代碼都構建完成。若是最新發布到Ivy庫裏的組件和開發當前並無用到的模塊代碼相同,那麼關掉eclipse工做空間的那個工程,解析工程的依賴下載相應組件將大大加速編譯過程。

    首先,每一個應用模塊在Eclipse中應該是一個獨立的工程,而且每一個工程都應該有一個配置好的IvyDE類路徑容器。而後進入類路徑容器的」classpath「面板,選擇」Resolve dependencies in workspace「來啓用在工做空間內的解析。

    值得注意的是:爲了工做空間解析正常工做,ivy.xml裏的info信息必須設置合理:

    --org 和name

    --若是指定了rev,依賴關係應當指定適當的範圍

    --若是沒有設置rev,只會匹配到最新(latest)的依賴

    --status應該和須要的匹配:配置了latest.intergration的依賴只會匹配到info信息裏status="interation"的被依賴模塊

    在某些配置中,若是你想將本身的解析器和workspace解析器混合使用,還但願傳遞依賴可以在它們之間很好的工做,你可能需啊喲將解析魔改改成dynamic

    還要注意若是ivysettings.xml裏的任意一個解析器的force屬性設置成了true,那麼workspace解析器可能不會正確綁定項目,由於forced解析器會優先使用。

  6. 啓動類路徑由IvyDE管理的軟件或單元測試

    IvyDE類路徑容器也能夠用於啓動配置,執行或調試。

    默認行爲:

    默認狀況下將使用容器,由於它包含在你項目的默認類路徑中。這個配置你在java 類上點擊」Run As「是就會隱式使用。你在啓動類路徑中看到的容器和你在包瀏覽器中的項目中看到的同樣

    使用默認編譯路徑來啓動工程在某些狀況下可能不合適。例如你可能在容器中配置了一些附加庫來支持單元測試,可是這些附加庫可能致使應用在運行時不穩定。

    手動管理類路徑:

    當你須要更細粒度控制哪些些配置在運行類路徑上是可見的,能夠手動編輯運行時類路徑。

    經過建立一個啓動配置,你講得到如上所述的默認類路徑。所以第一步就是移掉它。最有可能的是,你須要從新在user Entries中加上你的工程。而後加上IvyDE容器,選擇」Advanced「

    選擇"Add Library"

    選擇"IvyDE Managed dependencies":

    選擇訪問Ivy.xml文件的絕對路徑和適當的配置

    注意:在啓動配置裏能夠在你建立的容器中編輯或者手動啓動一個解析。可是也能夠在每一個工程啓動以前先啓動一個解析。若是解析過程不太長的話,建議這麼作。不然你將不得不在每次改變ivy.xml後從新建立一個容器。

    開啓在啓動以前解析,進入"Advanced"標籤,選擇"Resolve before lanuch"

    點擊」Finish「,觀察結果:


  7. 使用IvyDE處理maven pom.xml

  8. Use IvyDE in concert with WTP

相關文章
相關標籤/搜索