2015-05-22 41 views
0

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

举例:

JUnit是一个众所周知的maven包。根据http://mvnrepository.com/artifact/junit/junit,当前RELEASE是4.12。

因此,鉴于工件标识符,我希望收到相应的RELEASE版本号(本例中为4.12)。由于maven是某种存储库,我希望有这样一个简单的方法。

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

  1. 我可以创建一个伪Java项目,需要maven依赖。 mvn安装后,可以从jar文件中获取版本号。
  2. 我可以做一个GET请求mvnrepository.com/artifact/junit/junit其次是一些花哨的正则表达式......绝对不是最好的做法

编辑: 这里是一个神奇的数字三: http://search.maven.org/solrsearch/select?q=g:%22组识别符号%22 + AND +一个:%22 的artifactId%22 &芯= GAV &行= 1 &重量= JSON 返回与我已经搜索的数目的JSON。

回答

0

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

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

目前尚不清楚你想要什么版本都有,但:

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