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

使用Maven构建产物后,如何给最终Jar文件添加版本号命名?

Maven生成指定命名Jar文件(app-1.0.0.jar)的实现方法

普通Java项目(基于maven-jar-plugin)

默认Maven生成的Jar命名格式是artifactId-version.jar,要改成app-1.0.0.jar,直接在pom.xml的build节点下配置maven-jar-plugin的finalName即可:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.3.0</version> <!-- 用最新稳定版即可 -->
            <configuration>
                <!-- 用项目版本变量,自动匹配pom里的version值 -->
                <finalName>app-${project.version}</finalName>
                <!-- 如果要固定版本,直接写死:<finalName>app-1.0.0</finalName> -->
            </configuration>
        </plugin>
    </plugins>
</build>

配置完后执行mvn package,target目录里就会生成符合要求的Jar文件。

Spring Boot项目(基于spring-boot-maven-plugin)

如果是Spring Boot项目,因为默认用spring-boot-maven-plugin打包,有两种配置方式:

方式一:全局配置finalName

直接在build节点下设置全局finalName,插件会自动沿用这个命名:

<build>
    <finalName>app-${project.version}</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>3.2.0</version> <!-- 对应你的Spring Boot版本 -->
        </plugin>
    </plugins>
</build>

方式二:在Spring Boot插件内配置

也可以直接在插件的configuration里指定finalName:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
                <finalName>app-${project.version}</finalName>
            </configuration>
        </plugin>
    </plugins>
</build>

同样执行mvn package,target目录就能得到app-1.0.0.jar(如果pom里的version是1.0.0),固定版本的话直接把${project.version}替换成1.0.0就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 15:12:11