如何在Nexus 2.x中提供对工件的最新快照的URL访问?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Nexus 2.x中提供对工件的最新快照的URL访问?相关的知识,希望对你有一定的参考价值。
我想提供一个简单的URL,它将始终返回最新版本的工件快照版本。简单来说,我的意思是URL不会改变,或者要求用户浏览目录并检查时间戳。
请注意,这个答案与Nexus 2.X有关
核心Nexus“重定向”REST API可用于从指定的存储库中检索任何版本的工件:
例如:
v参数可以是1.0-SNAPSHOT之类的值,在这种情况下,Maven将返回存储库中保存的最新时间戳快照。如果没有更新的发布版本,那么特殊值“LATEST”应该这样做。
如果您正在寻找最新版本的快照,只需要说“1.0-SNAPSHOT”将返回该工件快照的最新版本。
但是,如果您正在寻找“最新版本”,那么“v = LATEST”语法将起作用,但请记住,此关键字可以返回您正在查找的快照的最新版本,或刚刚完成的版本,或者那个相同工件的OTHER分支,它是一个版本,但仍然是“-SNAPSHOT”。
如果你正在寻找最新的,那么是的,使用“v = LATEST”。如果您正在寻找最新版本,您也可以要求“v = RELEASE”。如果您有一个repos分组,则可以通过向url添加以下内容来引用快照存储库和发布存储库:
“...... V = RELEASE&R =公共”
那应该搜索你所有的“分组”回购。
在我的nexus机器上所有结果:
是这样的:* -1.2.3-20131204.143026-1.zip
所以我无法直接访问它,因为我需要提供更多动态细节。
“... redirect?r = central-proxy&g = log4j&a = log4j&v = LATEST”的例子如果我在浏览器中打开但是当我从某些linux机器上安装它时使用的是:
/usr/share/elasticsearch/bin/plugin --url "http://localhost:8081/nexus/service/local/artifact/maven/redirect?r=snapshots&g=com.comapny.application&a=elasticsearch-river-mongodb&v=1.2.3-SNAPSHOT&p=zip" --install river-mongodb
所以我的临时解决方案是使用wget:
wget -O /tmp/elasticsearch-river-mongodb.zip "http://nexushost.domain/nexus/service/local/artifact/maven/redirect?r=snapshots&g=com.comapny.application&a=elasticsearch-river-mongodb&v=1.2.3-SNAPSHOT&p=zip"
然后从本地文件安装LATEST版本。
每个存储库都有自己的URL(您可以在Repository浏览器中看到它)。如果您打开它,则可以浏览组和工件ID到您的工件。这是你的网址,例如:http://nexushost.domain/content/repositories/snapshots/com/example/group/artifact/1.2.3-SNAPSHOT/1.2.3-SNAPSHOT.jar
以上是关于如何在Nexus 2.x中提供对工件的最新快照的URL访问?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Nexus rest API 获取给定 groupid/artifactId 的最新工件版本