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

时间:2011-08-14 00:01:15

标签: archiva maven-metadata

在archiva上是否有某种参数化网址,我可以在哪里获得工件的最新快照/发布? ......好吧 https://myhappyarchiva.com/archiva/repository/com.example/com/example/myproject/LATEST/myproject-LATEST.jar

2 个答案:

答案 0 :(得分: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
  • [版本]就像:LATEST或某些数字,如1.0
  • [classifer]就像:javadoc,sources或assembly

标签显示在archiva的表格中。因此,您可以轻松查找参考文献。

我相信你也可以使用“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

答案 1 :(得分: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><latest>元素