2014-03-06 52 views
0

所以我目前有2個項目,讓我們稱之爲ProjectA和ProjectB。 ProjectA和ProjectB應該彼此獨立發佈。他們都使用一個名爲ProjectCommon的共享項目。Maven - 釋放快照依賴

<groupId>group</groupId> 
<artifactId>ProjectA</artifactId> 
<version>0.0.10-SNAPSHOT</version> 
<dependencies> 
    <dependency> 
     <groupId>group</groupId> 
     <artifactId>ProjectCommon</artifactId> 
     <version>0.0.2-SNAPSHOT</version> 
    </dependency> 
</dependencies> 

目前,如果我想realease項目A,我首先要釋放ProjectCommon,並更新項目A的pom.xml的版本。

有沒有辦法讓這個自動化?我一直在看版本:use-latest-releases插件,但是如果ProjectCommon當前正在使用快照,我無法使它工作。我只是得到「着發佈項目因未發行的依賴關係」

感謝

+0

看到HTTP的依賴://計算器。 com/questions/30571/how-do-i-tell-maven-to-use-the-latest-version-a-dependency – Jay

+0

感謝您的回答。所以唯一的帖子相關,似乎是使用 mvn乾淨版本:使用最新版本scm:簽入部署-Dmessage =「更新版本」-DperformRelease =真' 這是你的意思嗎? – user3387245

+0

是的,那個帖子建議。但在我們的環境中,我們手動執行以避免任何未經測試的兼容性問題。例如,如果您自動升級像spring,primefaces等任何框架,您現有的一些穩定功能可能無法正常工作。如果由於時間因素而忘了在測試階段發現這樣的事情,它可能會在生產中結束。 – Jay

回答

0

你應該總是在其他項目中使用ProjectCommon的發行版,這樣你有2個場景。

1)您在ProjectCommon變化和你釋放它,那麼你更新項目A和項目B

2)您在項目A的變化,你只發布項目A

+0

感謝您的回答。因此,我真正想知道的是,是否可以自動化場景1. – user3387245

+0

您可以設置依賴關係以上載最後一個版本,搜索最新 RELEASE但是釋放ProjectCommon時ProjectA不會自動釋放。 (另外,我不推薦使用最新版本,它可能導致測試問題) –