Heroku部署Spring应用出现H10崩溃错误求助
解决Heroku部署Spring API时的应用崩溃问题
核心问题定位
从Heroku日志可明确关键错误:
build/libs/HelpDesk-0.0.1-SNAPSHOT-plain.jar中缺少主清单属性
该错误导致Java无法找到应用启动类,进程启动失败后直接崩溃,所有路由(包括login)因此无法访问。
解决方案
1. 修正Gradle打包配置
项目基于Gradle构建,需确保生成可执行的Spring Boot Jar包:
- 在
build.gradle中确认已引入Spring Boot插件(自动处理主清单与依赖打包):plugins { id 'org.springframework.boot' version '3.0.2' // 匹配项目实际Spring Boot版本 id 'io.spring.dependency-management' version '1.1.0' id 'java' } - 若手动配置过
jar任务,建议移除,改用Spring Boot提供的bootJar任务,它会自动生成包含主清单和所有依赖的可执行Jar。
2. 指定正确的启动Jar包
Heroku当前默认执行无依赖的plain.jar,需指定正确的可执行Jar:
- 在项目根目录创建
Procfile文件,内容如下:
注意替换为实际生成的Jar文件名(不带web: java -jar build/libs/HelpDesk-0.0.1-SNAPSHOT.jar-plain后缀)。
3. 重新部署
- 本地执行
./gradlew clean bootJar生成正确的可执行Jar包 - 提交所有修改到GitHub仓库,Heroku会自动重新构建部署;或使用Heroku CLI推送更新。
内容的提问来源于stack exchange,提问作者LuciannoDev
相关产品推荐
相关产品推荐

