maven - jenkins maven 在构建后更改 jar 文件名

标签 maven jenkins

我的 jar 是通过 ssh 远程安装的,重要的是我知道安装了哪个版本。这不是通过我当前使用 pom.xml 中的版本号来完成的,因为该版本号是手动更新的。 我想要做什么,却找不到一个像样的插件或一个足够清楚的插件来告诉我。 Jenkins 应该在 pom 文件中构建 rev 版本号(例如 1.0.3. 或 1.0.3- 或 1.0.3_ 或者只是一个称为版本号的附加属性)最好将此版本号作为 jar 名称的一部分以便很容易区分等等) 有什么想法吗?

最佳答案

Maven 3.2.1 开头您可以在版本中定义属性,如下所示:${revision}, ${changelist}, and ${sha1} .

  <groupId>com.soebes.examples.j2ee</groupId>
  <artifactId>parent</artifactId>
  <version>1.0.4-${revision}-SNAPSHOT</version>

这是一种解决方案。

您还可以将所有需要的信息放入 MANIFEST.MF 文件中,以便您始终能够准确地说出安装了哪个版本。在那里您可以获取 svn 修订号或 git sha1 以及诸如 CI 解决方案的内部版本号之类的补充信息。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
  <version>${maven-jar-plugin.version}</version>
  <configuration>
    <archive>
      <addMavenDescriptor>true</addMavenDescriptor>
      <index>true</index>
      <manifest>
        <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
        <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
      </manifest>
      <manifestEntries>
        <artifactId>${project.artifactId}</artifactId>
        <groupId>${project.groupId}</groupId>
        <version>${project.version}</version>
        <revision>${svn.revision}</revision>
        <build-number>${BUILD_NUMBER}</build-number>
        <build-id>${BUILD_ID}</build-id>
        <build-time>${maven.build.timestamp}</build-time>
      </manifestEntries>
    </archive>
  </configuration>
</plugin>

关于maven - jenkins maven 在构建后更改 jar 文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28224584/

相关文章:

java - 如何列出所有原型(prototype)?

jsp - 预编译 JSP 的正确 WEB-INF 路径是什么?

java - 在 Eclipse 外部运行主 Java 应用程序

java - 如何更新到 Hudson 中的最新快照

jenkins - groovy.lang.MissingPropertyException : No such property: pipeline for class: groovy. lang.Binding

java - Maven jarsigner 插件在发布期间不起作用

jenkins - 多分支管道作业的分支索引是否应该由 webhook 自动触发?

authentication - Jenkins/Nginx - 两次提示基本身份验证,为什么?为什么有内部 Jenkins 身份验证?

security - Jenkins 中 HTTP 404 页面 URL 的自定义页面

java - Jenkins Android 构建错误 : FAILURE: Build failed with an exception