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

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

【问题讨论】:

    标签: archiva maven-metadata


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-05
      • 1970-01-01
      • 1970-01-01
      • 2014-04-14
      相关资源
      最近更新 更多