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

从Maven迁移的Spring Boot Gradle项目,对应package阶段的任务是什么?

嘿,我刚好做过不少Maven转Gradle的Spring Boot项目,这个问题我太熟啦!

Gradle中对应Maven package 阶段的任务

对于Spring Boot项目来说,和Maven package 阶段功能完全匹配的是**bootJar**任务(如果你的项目是打包成JAR包的话)。

为什么是bootJar而不是普通的jar?

Maven的package阶段针对Spring Boot项目,最终产出的是包含所有依赖的可执行胖JAR;而Gradle自带的普通jar任务,只会生成仅含项目自身代码的瘦JAR,这和Maven原生jar插件的效果类似,并不是我们需要的完整可执行包。bootJar是Spring Boot Gradle插件提供的专属任务,它会把所有依赖打包进去,生成和Maven package后完全一致的可执行JAR,文件默认放在build/libs/目录下,对应Maven的target/目录。

如果你的项目是打包成WAR包部署的,那对应的就是**bootWar**任务,作用和bootJar一致,只是产出WAR格式的可执行包。

如何执行这个任务?

直接在命令行运行:

# Linux/macOS环境
./gradlew bootJar

Windows环境下则用:

gradlew.bat bootJar

执行这个任务时,Gradle会自动触发它依赖的前置任务,比如compileJava、processResources、classes等,就像Maven的package会自动执行compile、test(默认情况)等前置阶段一样。

另外,如果运行./gradlew build,它会包含bootJar(或bootWar)以及测试、代码检查等全流程任务,相当于Maven的mvn clean install;但如果只需要完成打包动作,单独跑bootJar会更高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:22:30