以编程方式获取maven包的最新版本号

时间:2015-05-22 21:23:58

标签: java maven

我想以编程方式获取maven包的基于数字的版本号 - 更具体一点:我需要RELEASE版本的编号。

一个例子:

JUnit是一个众所周知的maven包。根据{{​​3}},目前的RELEASE是4.12。

因此,鉴于工件标识符,我希望收到相应的RELEASE版本号(在此特定情况下为4.12)。由于maven是某种存储库,我希望有一种简单的方法可以实现。

我目前确实有两种可能工作的方法,但两种方法都不令人满意。

  1. 我可以创建一个需要maven依赖的伪java项目。在mvn安装之后,可以从jar-Files获取版本号。
  2. 我可以对mvnrepository.com/artifact/junit/junit做一个GET请求后跟一些花哨的正则表达式...绝对不是最佳实践
  3. 编辑: 这是神奇的三号: http://mvnrepository.com/artifact/junit/junit GROUPID %22 + AND +一个:%22的的artifactId %22安培;核心= GAV&安培;行= 1&安培;重量= JSON 返回一个带有我搜索过的号码的json。

1 个答案:

答案 0 :(得分:0)

不是100%清楚你想要做什么,但是,如果你想在执行由pom构建的工件时能够使用构建版本,以下应该会有所帮助。

使用资源插件,您可以在资源中进行令牌替换。这意味着您可以使用maven属性(如$ {project.version})的值替换属性文件甚至java源文件中的任何字符串。

目前尚不清楚您希望拥有哪个版本,但是:

  • 通过使用属性来指定依赖项的版本,例如$ {junit.version},您可以使用依赖项版本。
  • 通过使用内置项目版本属性,您可以使用当前项目的版本。