我有開發人員在我的組織之外使用Maven父母。對於這種特殊的情況下,父親是彈簧引導啓動父Maven繼承和分發管理
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
他們的版本是工作,他們已經對這些相關測試了很長時間,我非常不希望改變他們的產業。
我作爲發佈工程師的問題是生成的工件需要存儲在內部的Maven存儲庫中。我們歷史上曾經通過一個Maven Parent來完成這個工作,該Maven Parent定義了所有的項目並且沒有其他的東西,所有的項目都作爲它們的繼承鏈的根源。
我最終可能會管理數百個POMS,而且我不想放在每個POM中,就好像我們必須移動內部Maven存儲庫一樣,我將不得不管理一些荒謬的項目來反映更改。
有什麼辦法可以設置我基本上沒有父母寫入權限的地方嗎?這可以在MAVEN_OPTS中設置,或者作爲CI服務器上的屬性文件進行設置?我嘗試使用properties-maven-plugin來輸入我們所有的屬性,但distributionManagement不會接受屬性作爲變量。
我真的不明白你想達到的目標。您構建的工件應該轉到工件存儲庫,如Nexus或Artifactory。通常,它們將由構建服務器部署到該存儲庫。您也可以在Nexus/Artifactory中代理外部存儲庫,以便您擁有所有使用的父級poms的副本。 –
開發團隊通常使用基本上定義我們的超級POM版本的父pom。在這種情況下,開發團隊使用的是spring-boot-starter-parent而不是「我們的」父項,因此它不會繼承與我們其他版本相同的內容。執行Maven發行版:執行無法部署,因爲無法找到版本庫(因爲沒有deploymentManagement集)。我希望能夠允許開發人員將外部父母(即不屬於)的父母用於組織,並且仍然能夠將他們發佈到我們的內部回購中。 – shaunSCM