2010-07-31 170 views
3

我對Maven非常陌生,並且對構建多個Maven項目有疑問。構建多個Maven項目

我們有兩個Maven項目,項目A和項目B.

項目A依賴於項目B

當更改項目A或B檢查到SVN,我們當地哈德森產生一種假象服務器構建修改後的項目(以及任何相關項目),並將工件上傳到我們本地的Nexus存儲庫中。

現在,考慮兩個開發人員。

開發1黑客遠在項目只有A,當開發人員1建立本地項目A,Maven的推移,並得到從我們的Nexus服務器最新的B項目的快照假象。

開發人員2同時攻擊項目A和項目B.當開發人員2構建本地項目中,我們希望行家與任何本地更改建設項目B和使用所產生的假象建項目A.我們如何建立的Maven使用項目B的本地版本,而不是從得到的假象建關係?這是Maven的標準使用模式嗎?

回答

3

我們如何設置Maven使用本地版本的項目B構建而不是從Nexus獲取artefact?

您可以爲每個repository的快照構件設置一個updatePolicy。事實上,Maven的檢查,快照通過默認更新每天只有一次。因此,如果您在本地構建B版本,即使將新的SNAPSHOT部署到您的Nexus上,您也應該可以使用它構建A一段時間。如果這不符合您的需求,您可以更改此政策。您也可以離線構建(使用-o選項)。

PS:AFAIK,默認情況下,在Maven 3.x中自動更新將被禁用,您將不得不明確要求更新(使用-U選項)。

+0

謝謝,我指出了正確的方向。 – James 2010-08-02 00:53:53