2011-08-13 319 views
1

我讀過常春藤文檔和一些其他教程,但我現在試圖在項目中第一次實際使用它,並立即出現一些障礙。常春藤配置幫助

  • 對於練習,我想寫所有我自己的配置(XML)文件。不知道將ivy.xml,ivyconf.xml或ivy-settings.xml放在哪裏:是否將它們放在與我的build.xml相同的目錄中?
  • 除了ivy.xml,ivyconf.xml和ivy-settings.xml,還有我應該知道的其他任何配置文件嗎?我在哪裏放置這些?
  • IvyDE僅僅是一個圖形Eclipse插件,它以圖形方式編輯ivyconf.xml或編輯其他文件?

感謝您的任何意見 - 在這個驚人的工具上找到更好的信息令人驚訝地困難!

回答

1

您只需要一個文件ivysettings.xml。您可以將它放在build.xml或任何所需的項目目錄中。或者,您可以使用一個或多個屬性文件用於不同的用途。

除了ivysettings.xml還記得關於常青藤緩存目錄。通常,解決所有依賴項解決問題的最佳解決方案是通過刪除此目錄來清理常青藤緩存。

IvyDE允許您解決Eclipse內部的項目依賴關係。 IvyDE創建一個名爲ivy.xml的新類路徑容器。在這個容器裏面你會找到解決的庫。 我建議您在Eclipse中使用本地或Intranet常青藤資源庫,因爲如果解決需要一些時間,它會減慢項目的加載速度。

例如,我放置了我在項目中使用的ivysettings.xml。正如你可以看到的Eclipse那裏有eclipse-ivy.properties文件。在這個文件中,我命令常春藤在Eclipse中使用本地存儲庫。在Ant腳本中,我默認使用遠程存儲庫,但是有一個選項可以選擇本地存儲庫。

<?xml version="1.0" encoding="UTF-8" ?> 
<ivysettings> 
<settings defaultResolver="${ivy.resolver}" /> 
<statuses default="development"> 
    <status name="release" integration="false"/> 
    <status name="integration" integration="true"/> 
    <status name="development" integration="true"/> 
</statuses> 
<resolvers> 
    <ssh name="remote" checkconsistency="true" checkmodified="true" descriptor="required"> 
     <ivy pattern="ssh://***/home/ivy/repository/[organisation]/[module]/[revision]/ivy.xml"/> 
     <artifact pattern="ssh://***/home/ivy/repository/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/> 
    </ssh> 
    <filesystem name="local"> 
     <ivy pattern="${user.home}/.local-ivy-repository/[organisation]/[module]/[revision]/ivy.xml"/> 
     <artifact pattern="${user.home}/.local-ivy-repository/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/> 
    </filesystem> 
</resolvers> 
</ivysettings> 

elipse-ivy.properties:

ivy.resolver=local 
0

在一般情況下,最好創建一個單一的標準化常春藤settings.xml文件,並在你的構建可以得到它輕鬆的位置對其進行託管。這個文件通常對於所有項目都是一樣的,一旦設置正確,很少會改變。在我的開發小組中,我們將ivy-settings.xml文件託管在Web服務器上,以便可以通過URL輕鬆引用它。

我們使用Ant構建,因此我們還提出了一個標準化的ant構建文件,它可以託管在某處並導入到Ant構建腳本中,或者只需要複製到項目目錄(如果需要任何類型的自定義)。

我發現最好將Ivy配置文件保持原樣並通過覆蓋構建腳本和/或ivy.xml文件中的默認值進行任何類型的自定義。幾乎任何你需要改變的東西都可以被覆蓋。我建議不更改Ivy配置文件,因爲它使其他用戶更容易構建項目。如果您對配置文件進行了一系列更改,那麼任何希望構建項目的其他開發人員都必須在本地Ivy安裝上覆制這些更改才能運行本地構建。這是不好的魔咒。

IvyDE插件爲您的ivy.xml和ivy-settings.xml文件提供了編輯器。根據文檔,它還提供了自動下載項目依賴關係的方法,包括自定義控制檯和反向依賴關係瀏覽器,以幫助解決和解決依賴關係衝突。不過,我只使用編輯器,所以我不能擔保其他工具。

像Alexey一樣,我建議使用Ivy的庫管理器。 Artifactory很好地完成了這項工作;一旦運行,它很容易設置和堅固。

我同意文檔有很多不足之處;我花了幾個星期的實驗才真正掌握了所有片段如何組合在一起。最後,這完全是值得的。一旦你解決了所有的問題,一個調整好的神器管理系統真是一件美麗的東西。