我想弄清楚如何組織很多(大約50+)maven2項目,以便他們可以部署到一箇中央連接庫。當使用mvn deploy
目標,一個人需要指定目標的distributionManagement標籤是這樣的:如何指定maven的分發管理組織範圍?
<distributionManagement>
<repository>
<id>nexus-site</id>
<url>http://central_nexus/server</url>
</repository>
</distributionManagement>
現在,我不希望每一個pom.xml的(那些50歲以上的)超過包含該數據塊並重新開始。我的第一個雖然將settings.xml
文件,但它似乎不可能(在設計上)在那裏定義它。 所以,第一個問題是,爲什麼是這種情況?如果可以的話,我可以在maven2發行版的settings.xml中指定它,它可以分發給所有開發者。
我發現的唯一可能的解決方案是創建一個組織範圍的master-pom項目,該項目包含這些設置,並使所有其他pom.xml通過<parent>
標記取決於此master-pom。但是,這看起來有點怪多模塊構建中:
- master configuration POM (pm)
- Project 1 parent pom (p1 with module 1 and module 2 as modules)
- Project 1 module pom (with pm as parent)
- Project 2 module pom (with pm as parent)
通常我該模塊勁歌應該使用父POM,而不是一些不同的一個所有文檔中讀取。但在閱讀關於繼承與聚合的maven網站之後,寫道它的確是可行的。
一個問題我發現了與Maven站點的一代,似乎有與此設置問題(模塊不能正確連接,如果他們沒有直接回引)
所以,這是一個有效的方法?任何其他更明顯,更簡單的解決方案?
http://maven.apache.org/pom.html#Distribution_Management – OhadR 2014-07-23 11:08:05
@OhadR:他們只寫如何寫在一個項目中。要點是我不想重複它約500次... – mglauche 2014-07-23 13:45:00
我明白了。採取點。所以回答的人說,你可以有一個主要的POM爲項目,這將包含'distribMngmnt'... – OhadR 2014-07-24 10:42:45