【问题标题】:How to add build number (from Jenkins) to jar file?如何将内部版本号(来自 Jenkins)添加到 jar 文件?
【发布时间】:2019-12-04 04:54:17
【问题描述】:

我的应用程序是由 Jenkins 和 Maven 构建的,我想将内部版本号添加到 jar 文件中(这包括添加到 jar 的文件名并在 jar 中添加内部版本号),可能会创建一个包含jar中的版本+内部版本号,我也可以提取此信息用于其他用途,有人可以帮忙吗?

【问题讨论】:

  • 您想使用内部版本号作为 Maven 版本的一部分吗?还是你指的是别的东西?
  • @JFMeier 您好,我正在关注语义版本控制,但我还想添加一个内部版本号(例如 1.0.0.10)10 是内部版本号,以便每次构建它时整个版本控制都是唯一的。
  • 很抱歉,内部版本号并不意味着什么...您可以使用版本控制的修订版/sha 会好得多(但我想您已经使用标签来标记发布) ...
  • 是的,我想提取这个版本+内部版本号以供其他使用。您提到的修订版/ sha,我从未听说过,您能解释一下吗?非常感谢。

标签: maven jenkins jenkins-pipeline pom.xml build-numbers


【解决方案1】:

使用应该将内部版本号传递给 maven 版本,以便将其设置为工件版本的一部分。

我建议使用 version:set Maven 插件(参见:https://www.mojohaus.org/versions-maven-plugin/set-mojo.html)来设置版本名称。

如果你想知道当前项目的版本是什么,使用下面的命令,然后将结果结合内部版本号来设置新版本: mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version

【讨论】:

  • 我想我想在jar中创建一个包含版本+内部版本号的文件,我也可以提取此信息用于其他用途,不确定这个插件是否可以帮助我做到这一点。
  • 当然可以。查看我修改后的答案
  • 你的意思是命令是'mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version'?这个命令好像不对?你能告诉我'org.apache.maven.plugins:maven-help-plugin:2.1.1'是什么吗?另外我只能检查当前版本而不是将其添加到 jar 中?
  • maven-help-plugin 扫描 pom.xml 并返回它的“版本”,而您应该使用 ${env.BUILD_NUMBER} 提供内部版本号,以便版本:设置参数将是 -DnewVersion=${version}-${env.BUILD_NUMBER}
  • 问题是我希望内部版本号在 jar 文件中,而不仅仅是在控制台中显示。
猜你喜欢
  • 1970-01-01
  • 2022-01-06
  • 1970-01-01
  • 2013-05-22
  • 2011-07-09
  • 1970-01-01
  • 2011-09-19
  • 2011-10-20
  • 2016-02-03
相关资源
最近更新 更多