You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Maven构建生成的JAR文件名中添加CI流水线构建号

Maven构建JAR追加CI构建号到文件名的实现方法

1. 修改pom.xml配置

首先调整项目根目录下的pom.xml文件,配置构建生成的JAR文件名规则,提供两种可选配置方案:

  • 方案1:设置默认构建号,本地构建也带统一后缀
<project>
  <!-- 其余原有配置保持不变 -->
  <properties>
    <!-- 本地构建时默认的构建号后缀,可自行调整为SNAPSHOT或其他自定义值 -->
    <build.number>SNAPSHOT</build.number>
  </properties>

  <build>
    <!-- 配置最终生成的JAR文件名规则 -->
    <finalName>${project.artifactId}_${project.version}-${build.number}</finalName>
    <!-- 其余原有build配置保持不变 -->
  </build>
</project>
  • 方案2:本地构建保持原有文件名,仅CI环境加构建号后缀
<project>
  <!-- 其余原有配置保持不变 -->
  <build>
    <!-- 仅当传入build.number参数时才追加构建号后缀 -->
    <finalName>${project.artifactId}_${project.version}${build.number != null ? '-' + build.number : ''}</finalName>
    <!-- 其余原有build配置保持不变 -->
  </build>
</project>

2. CI流水线中传递构建号参数

不同CI工具的构建号内置环境变量不同,在CI的构建命令中通过-D参数将构建号传入Maven即可:

  • Jenkins流水线使用命令:mvn clean package -Dbuild.number=${BUILD_NUMBER}
  • GitLab CI流水线使用命令:mvn clean package -Dbuild.number=${CI_JOB_ID}
  • GitHub Actions流水线使用命令:mvn clean package -Dbuild.number=${GITHUB_RUN_NUMBER}
  • 本地测试时可手动指定构建号验证效果:mvn clean package -Dbuild.number=100

注意:如果项目使用了spring-boot-maven-plugin等特殊打包插件,上述全局的finalName配置默认生效,无需额外修改插件配置;如有自定义插件配置,可在对应插件的<configuration>节点下单独指定finalName属性即可。

内容的提问来源于stack exchange,提问作者Doyel Kundu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:27:04