2013-07-10 83 views
0

如何將所有項目依賴項發佈到本地文件系統存儲庫?發佈所有常青藤依賴關係

例如我有項目P取決於A。 我想將AP複製到本地m2存儲庫,但<ivy:publish/>將只複製P

任選地:

存儲庫應在行家格式(與POMS和其他元數據,以變換爲目錄點組id)。

+0

本地Maven倉庫實際上是一個緩存(常青藤在緩存和倉庫之間有一個清晰明確的區別)。建議您最好不要使用它。如果你使用的是Maven,爲什麼不設置像Nexus這樣的適當的Maven倉庫管理器?你永遠不會回頭看! –

+0

本地我的意思是裝載網絡共享與歸檔所有依賴關係。我寧願避免現在設置nexus,也希望這樣的基本功能可以在ivy中實現。我想要maven佈局,因爲它是jar庫的事實標準,並且受到很多工具的支持。 –

+0

Maven是作爲** remote **存儲庫實現時的事實佈局。這就是爲什麼我建議使用存儲庫管理器(這將爲您處理這些細節)。對於本地版本庫,建議最好堅持常春藤的緩存機制不變。通過共享安裝的網絡驅動器,您可以獲得非常少的收益,併爲您的構建添加大量的複雜性和自定義構建邏輯。最重要的是,一個正確的Maven倉庫可以被所有的構建技術共享:Maven,Ivy,Gradle,Buildr ......他們都支持Maven倉庫。 –

回答

0

如果你希望你的本地倉庫有一個Maven的格式,那麼你就需要去適應以下答案與常春藤file解析器,而不是更加正常ibilio解析器的工作:

件事情要注意:

  • 您需要使用makepom任務生成(併發布)Maven POM文件。爲什麼? Maven和ivy使用不同的存儲庫元數據文件來存儲依賴關係。所以,如果你使用Maven本地倉庫解決常春藤常春藤的依賴關係會希望看到的ivy.xml文件和Maven會希望看到的pom.xml文件爲每個模塊
  • ibilio解析器理解的Maven POM等元數據文件古怪,可以翻譯爲常春藤解決。這主要是爲什麼當在構建技術之間共享工件時最好建議使用Maven存儲庫管理器。

希望這有助於!

相關問題