Heroku部署Spring Boot项目报错:无效编译标志--release
问题解决方案
错误原因
编译失败是因为Heroku默认使用的JDK版本不支持--release编译参数,而你的项目指定了Java 17作为编译版本,Spring Boot 3.1.x系列本身要求JDK 17及以上版本。
修复步骤
- 指定Heroku使用Java 17
在项目根目录创建名为system.properties的文件,添加以下内容:
java.runtime.version=17
提交该文件到Git仓库,触发Heroku重新部署。
- 修复pom.xml中的语法错误
你的pom.xml里<groupId>标签未闭合,原代码:
<groupId>com.tomdemay.pro
修改为:
<groupId>com.tomdemay.pro</groupId>
这个语法错误可能导致Maven解析异常,影响构建流程。
- 验证本地构建
修改后先在本地执行mvn clean package确认构建正常,再推送代码到仓库。
补充说明
Spring Boot 3.x对JDK版本要求严格,必须使用JDK 17+,Heroku默认可能使用较低版本的JDK,因此必须通过system.properties明确指定版本。
内容的提问来源于stack exchange,提问作者tdemay
相关产品推荐
相关产品推荐

