来自 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 的工件的最新版本的主要内容,如果未能解决你的问题,请参考以下文章