考慮在內我有用Maven編譯的Java項目。每個項目都有自己的POM看起來像下面這樣:Maven SNAPSHOT將作爲RELEASE
<project ...>
<groupId>group.id</groupId>
<artifactId>scripts</artifactId>
<version>1.0.1-SNAPSHOT</version>
...
<dependencies>
<dependency>
<groupId>global</groupId>
<artifactId>common</artifactId>
<version>10.2.3-SNAPSHOT</version>
</dependency>
</dependencies>
...
</project>
快照作爲釋放
如果我做了mvn install
,它會編譯/安裝它,我第一次執行命令。 下一次,它不會安裝它。它接縫,maven認爲它是一個RELEASE,它不是SNAPSHOT。 我可以看到包含在已安裝軟件包中的時間戳。如果我不更改版本號,則時間戳也不會更改。
我相信我錯過了maven配置,但是這會影響我們的發展,因爲我們正在爲每個測試部署強制更改項目版本(及其依賴關係)。
說明: 我使用的是maven 3.3.3。看起來我在3.1.0中沒有這種行爲(我不是100%肯定舊版本,反正老了)。 Maven與Nexus結合在一起。也許問題來自於它,我專注於錯誤的馬。
謝謝你的提示。
編輯: 的問題是: 我怎樣才能得到行家只喜歡RELEASE安裝快照每次而不是第一次?
編輯解決
我們一直在做mvn install
編譯和安裝來源。出於某種原因,我們還沒有使用mvn clean
命令。 重新編譯所有源的正確的maven命令是mvn clean install
。
謝謝@VinayVeluri
有很多很好的信息在這裏,但什麼是你的問題? – byxor
可能的重複http://stackoverflow.com/questions/2358965/maven-automatic-snapshot-update。回答'mvn -U,--update-snapshots 強制檢查遠程存儲庫上的更新版本和快照'在這種情況下可能會對你有幫助 – Xantier
你在看這個? 'target'文件夾還是'.m2-> repo'?安裝發佈回購,但它每次都這樣做 – VinayVeluri