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

如何自定义构建生成的.jar文件名?无需修改项目名称

嗨,这个需求太常见啦!不用改项目名也能轻松自定义打包后的Jar文件名,我分Maven和Gradle这俩主流构建工具给你说具体怎么配置:

Maven 配置方案

Maven可以通过内置的时间戳属性+自定义finalName来实现动态命名,步骤超简单:

  1. 先在pom.xml的<properties>节点里定义日期格式(按需调整):
<properties>
    <!-- 这里用yyyyMMdd格式,你也可以改成yyyy-MM-dd之类的 -->
    <maven.build.timestamp.format>yyyyMMdd</maven.build.timestamp.format>
</properties>
  1. 找到<build>节点,修改<finalName>为你想要的格式:
<build>
    <!-- 把myapp换成你想要的自定义名称,也可以加上版本号比如${maven.build.timestamp}_myapp-${project.version} -->
    <finalName>${maven.build.timestamp}_myapp</finalName>
    
    <!-- 如果你是Spring Boot项目,记得保留spring-boot-maven-plugin的配置,finalName会自动生效 -->
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

执行mvn clean package后,target目录下就会生成类似20240520_myapp.jar的文件啦~

Gradle 配置方案

Gradle的配置更灵活,直接修改Jar任务的归档名称即可,分Groovy和Kotlin两种DSL写法:

Groovy DSL(build.gradle)

// 生成当日日期,格式可自定义
def currentDate = new Date().format('yyyyMMdd')

// 普通Java项目配置jar任务
jar {
    // 把myapp换成你的自定义名称,加版本号就写"${currentDate}_myapp-${version}.jar"
    archiveName = "${currentDate}_myapp.jar"
}

// 如果是Spring Boot项目,要配置bootJar任务而非jar任务
// bootJar {
//     archiveName = "${currentDate}_myapp.jar"
// }

Kotlin DSL(build.gradle.kts)

import java.text.SimpleDateFormat
import java.util.Date

val currentDate = SimpleDateFormat("yyyyMMdd").format(Date())

// 普通Java项目配置jar任务
tasks.jar {
    archiveFileName.set("${currentDate}_myapp.jar")
}

// Spring Boot项目替换为bootJar任务
// tasks.bootJar {
//     archiveFileName.set("${currentDate}_myapp.jar")
// }

执行./gradlew clean build后,build/libs目录下就会出现你想要的命名的Jar包啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:01:18