spring boot打包可执行jar并部署的核心是正确配置spring-boot-maven-plugin插件并执行mvn clean package,生成含boot-inf的fat jar后用java -jar启动。

Spring Boot 打包可执行 JAR 并部署,核心就两步:正确打包出含全部依赖的 fat jar,再用 java -jar 启动。关键不在“能不能”,而在配置和命令是否到位。
确保 Maven 插件已正确配置
这是打包成功的前提。打开项目的 pom.xml,检查 <build></build> 部分是否包含 Spring Boot 官方插件:
-
<packaging>jar</packaging>必须存在(默认即为 jar,但显式声明更稳妥) -
spring-boot-maven-plugin必须启用,且无需手动指定<goal>repackage</goal>(3.x 版本已默认绑定) - 示例精简配置(兼容 Spring Boot 3.x):
执行打包命令(推荐两种方式)
无论本地开发还是 CI/CD 环境,以下任一方式都能生成可执行 JAR:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
终端命令(通用、可控):在项目根目录(含
pom.xml)运行:mvn clean package -DskipTests
成功后控制台显示BUILD SUCCESS,JAR 文件位于target/xxx-0.0.1-SNAPSHOT.jar -
IDE 一键打包(VS Code / IDEA):打开 Maven 工具栏 → 展开项目 → 找到 Lifecycle → 双击
clean,再双击package;跳过测试可在 IDE 设置中勾选或加参数
验证并运行 JAR 包
生成的 JAR 是自包含的,无需解压、不依赖外部 classpath:
- 复制
target/*.jar到目标服务器或任意干净目录 - 在该目录下执行:
java -jar your-app-0.0.1-SNAPSHOT.jar - 启动成功标志:
日志中出现Tomcat started on port(s): 8080(端口以application.yml配置为准)
以及Started YourApplication in X.XXX seconds - 如需后台运行,Linux 下建议加
&或使用nohup;生产环境推荐配合 systemd 或 supervisor 管理进程
常见问题快速排查
如果运行失败,优先看这三点:
-
找不到主类?→ 检查
pom.xml中插件是否生效,确认target下的 JAR 是否真为 Spring Boot 可执行格式(用jar -tf xxx.jar | head -5查看是否有BOOT-INF/目录) -
端口被占或连不上?→ 查看日志开头是否报
Address already in use;确认防火墙放行对应端口;用curl http://localhost:8080/actuator/health测试应用是否真正就绪 -
启动后立即退出?→ 多因 JVM 内存不足或配置错误导致异常退出,加
-Dlogging.level.org.springframework=DEBUG查看详细堆栈
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










