当前位置: 首页 > 知识库问答 >
问题:

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

唐钊
2023-03-14

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

例如:

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

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

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

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

编辑:这是神奇的数字三:http://search.maven.org/solrsearch/select?q=g:“Groupid”和“artifactid”

共有1个答案

万嘉熙
2023-03-14

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

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

不清楚您想要什么版本,但:

  • 通过使用属性指定依赖项的版本,如${junit.version},您可以使用依赖项版本。
  • 通过使用内置项目版本属性,您可以使用当前项目的版本。
 类似资料:
  • 问题内容: 目标 :在计算机上检查Java的版本(我可以从中获取)。将其与Java网站上提供的最新版本进行比较 我想知道是否可以通过某种方法检查最新的Java版本,前提是我已在计算机上安装了JRE / JDK。 如果我可以通过Java本身做到这一点,那么我的解决方案将变得与平台无关。我可以使用类向Java网站发送请求并获取HTML,但是响应会是动态的,因为Oracle可以更改其网站和样式,并且从长

  • 我是maven的新手,我已经用pom文件编写了自己的maven插件 然后,在我的IDE(intellij)中,我使用clean install安装maven插件 扎克

  • 使用 use-lates-release 用于较新的版本(所有非快照),并用最新的版本替换POM的版本。我用 [anyVersionNumber] 在pom.xml中添加了依赖项(当前项目所依赖的)。 当我运行“MVN clean Package”时,生成失败,错误消息是无法解析项目的依赖项 :jar:0.1:无法找到工件 :jar:[anyVerionNumber] versions-maven

  • 问题内容: 我正在用python写一个简单的程序,我需要获取最新版本的Chrome。但是我在任何地方都找不到如何获取最新版本的Chrome。有没有办法以编程方式获取最新版本的Chrome? 问题答案: Chrome小组的官方链接。 https://chromedriver.storage.googleapis.com/LATEST_RELEASE 这提供了最新的Chrome版本 我编写了一个简单的

  • 问题内容: 如何以编程方式在Maven执行环境之外获取Maven模块的所有依赖关系? 到目前为止,我有: 通过maven-core: 并通过jcabi-aether: 到目前为止,这通常正确吗? 现在的问题是,我得到了NullPointerException: 因为mavenProject.getRemoteProjectRepositories()返回null。 如何在考虑settings.xm

  • 问题内容: 有谁知道如何在JBossAS 5.1下以编程方式获取服务器版本号? JBossAS 4.2具有,和和方法,但是在5.1中似乎不存在。 问题答案: 最后,我选择从JBoss 4.2中反编译该类,以查看其作用,并查看结果是否可以改装到JBoss 5中。最终结果是将资源加载到对象中,然后读出and 属性。从那开始。让我感到困惑的是,为什么他们不能只把课程留在那里,而是在那里。