2011-06-26 113 views
1

我們使用Hudson和Nexus,除了更新依賴項的版本之外,它們運行良好。未看到nexus部署的maven版本

繼模塊發佈之後,我想升級一些其他模塊以查看新發布的版本 - 比如Project-A-1.0.0-SNAPSHOT取決於Project-B-1.0.0-SNASHOT,Project B獲得發佈併成爲Project-B-1.0.0,現在我想讓項目A依賴於發佈版本B.

爲此,我們可以使用maven版本插件,並使用版本:use-latest-releases。我在本地windows命令行上執行此操作,Hudson/Nexus基於網絡。看來只有當我刪除我的本地repo的metadata.xml文件(由版本插件使用)時,它纔會起作用,因爲這與公司最近發佈的版本不一致。

我在這裏做錯了什麼?很明顯maven會通過運行版本來更新:display-dependency-updates。是否有辦法過期metadata.xml或更新它(設置repo上的更新設置始終不是一個選項,因爲這會減慢速度)

回答

-1

Maven有一個快照檢查策略。默認設置是每天檢查一次快照更改。

嘗試運行mvn -U versions:use-latest-releasesmvn --update-snapshots versions:use-latest-releases

+0

讀的理解,問題是關於從'1.0 SNAPSHOT'要完整版'1.0'和更新取決於項目正在釋放之中所有的項目更新爲將它們的'pom.xml'中的依賴關係從'1.0-SNAPSHOT'更新爲'1.0' –

+0

嗯,我認爲這可能是正確的,因爲它似乎強制從nexus刷新metadata.xml然而,我似乎不得不告訴nexus重建它的元數據),然後版本插件似乎工作。我仍然必須確認它適用於升級發行版,儘管(當我到達該場景時)。 – martin