来自 Apache Archiva 的工件的最新版本

Posted

技术标签:

【中文标题】来自 Apache Archiva 的工件的最新版本【英文标题】:Latest version of an artifact from Apache Archiva 【发布时间】:2011-10-26 14:43:05 【问题描述】:

archiva 上是否有某种参数化 url,我可以在其中获取工件的最新快照/版本? 喜欢 https://myhappyarchiva.com/archiva/repository/com.example/com/example/myproject/LATEST/myproject-LATEST.jar

【问题讨论】:

【参考方案1】:

该功能尚不可用,但您可能想在http://jira.codehaus.org/browse/MRM 提出问题。一个相关的问题是http://jira.codehaus.org/browse/MRM-805。

今天要实现这一目标,最好的办法是:

使用 XMLRPC 接口检索版本并选择最新的(如果是用于 Maven,您可以使用 Maven 库来执行此操作)[1] [2] 如果您知道存储库将是一个 Maven 存储库,您可以从 Archiva 获取 maven-metadata.xml 文件并读取 <release><latest> 元素

【讨论】:

4 年后,这可能吗?我正在将我的网址从有效的“com.example:library:2.0.300-SNAPSHOT”更改为“com.example:library:2.0.*-SNAPSHOT”,但这不起作用。 :( @Brett,我们也对这个功能感兴趣。还是Apache Archiva的功能吗? 我想是的...这就是您要找的东西吗? issues.apache.org/jira/browse/MRM-1843【参考方案2】:

尝试类似: "http://myhappyarchiva.com/archiva/restServices/archivaServices/searchService/artifact?r=#releases&g=com.myhappyarchiva&a=myproject&v=LATEST"

基础是: "http://[host_name]/archiva/restServices/archivaServices/searchService/artifact?r=[release_option]&g=[group_id]&a=[artifact_id]&v=[version]&c=[classifer]"

[host_name] 就像:dev.foo.com [release_option] 类似于:“快照”或“发布” [group_id] 就像:com.foo [version] 类似于:LATEST 或某个数字,例如 1.0 [classifer] 类似于:javadoc、源代码或程序集

标签显示在档案的表格中。因此您可以轻松查找参考资料。

我相信您也可以使用“p”作为包装。它可以像:"jar","pom","javadoc" 基本上是文件类型。所以看起来像, “&p=jar”添加到请求中。

如果您遵循请求,它有时会在 repo 开始下载之前通过 307 临时重定向和 302 发现重定向。

您可以使用 curl 或 wget 执行此操作。或者在脚本中(我制作了一个 ruby​​ 脚本)。

wget 示例: https://archiva.apache.org/docs/2.2.0/userguide/querying-artifacts.html

【讨论】:

以上是关于来自 Apache Archiva 的工件的最新版本的主要内容,如果未能解决你的问题,请参考以下文章

在 Gentoo 中独立运行 Apache Archiva?

ivy archiva 采用“最新时间”策略

Centos610安装Archiva

如何从 Artifactory 存储库下载最新的工件?

从 nexus 获取最新的构建工件

Archiva 仓库提示文件没有找到