我們剛剛升級了nexus安裝到最新版本(3.x)。有什麼方法可以獲得給定快照工件的最新版本? Nexus 2有一個不錯的API,不再支持。Sonatype Nexus 3 - 獲取最新快照
同樣的問題(但對於舊版本)已經在這裏找到答案: Sonatype Nexus REST Api fetch latest build version
任何想法受到了高度評價。
最佳, 丹尼爾
我們剛剛升級了nexus安裝到最新版本(3.x)。有什麼方法可以獲得給定快照工件的最新版本? Nexus 2有一個不錯的API,不再支持。Sonatype Nexus 3 - 獲取最新快照
同樣的問題(但對於舊版本)已經在這裏找到答案: Sonatype Nexus REST Api fetch latest build version
任何想法受到了高度評價。
最佳, 丹尼爾
Nexus 2有一個不錯的API,不再支持。
這聽起來像你指的是這些:
/service/local/artifact/maven/content
/service/local/artifact/maven/redirect
如果你問找到其中x,y,z是猜到了最新的XYZ-快照版本 - 的Nexus從未有過這個功能(它只適用於插件)。
這簡直是不真實的 - 請參閱下面的文章,它清楚地顯示您可以指定最新版本,發佈版本或SNAPSHOT基本版本。
這是可能的,但不是在1襯墊。
是的 - 除非你有一個方便的工具,如artifact-resolver它使用一行命令來獲取工件。
這是可能的,但不是在1襯墊。您需要爲每個快照構件獲取maven-metadata.xml(請注意,多模塊項目對於每個模塊(包括父項)都有不同的時間戳)。
我們使用xlstproc來提取相關變量,所以我們仍然可以從命令行運行,而不使用像Maven或Ivy這樣的重量級工具來執行解析。
如果您要求x.y.z-SNAPSHOT
那麼默認情況下會下載最新的x.y.z-timestamp
快照版本。 Nexus never had this functionality(它只是工作的插件) - 無需如果你問找到最新版本x.y.z-SNAPSHOT
在x
,y
,z
都猜到做任何額外的
。我不認爲這有什麼好的用例。如果這是必要的,你可能做錯了什麼。你總是應該使用特定的版本。實際上,即使對於第一個功能,我也想不到很好的用例。
什麼是笑話:Nexus 3沒有REST API。
我發現了一個可以緩解我的問題的黑客攻擊。事實證明,有理由有一個不錯的maven_artifact模塊,以某種方式能夠找出最新的快照。你可以在當地運行。所以它看起來像這樣:
ansible all -i localhost, -c local -m maven_artifact -a "repository_url=https://my-nexus/repository/maven-snapshots/ group_id=com.whatever artifact_id=my-artifact version=2.0-SNAPSHOT dest=./my-artifact.jar"
https://books.sonatype.com/nexus-book/3.0/reference/scripting.html#_writing_scripts? – 2016-05-17 18:08:52
看起來是關於nexus插件,而不是通過REST API獲取數據 – omickron