4

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

4

2 回答 2

3

尝试类似:“ 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
  • [版本] 就像:最新或一些数字,如 1.0
  • [分类器] 类似于: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

于 2016-05-18T00:43:54.283 回答
2

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

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

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