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

部署SpringBoot+MySQL到Heroku失败:git push被拒绝求助

解决Heroku部署SpringBoot应用时推送失败的问题

核心问题分析

错误日志里的关键信息是Fatal error compiling: invalid target release: 18,说明你的项目指定编译目标为Java 18,但Heroku构建环境默认不支持该版本,或未明确配置使用该版本。

解决方案

方案一:降低项目的Java目标版本

修改项目的pom.xml文件,将编译目标版本调整为Heroku支持的稳定版本(比如Java 17或11):

  1. 找到maven-compiler-plugin的配置块,修改source和target值:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.10.1</version>
    <configuration>
        <source>17</source>
        <target>17</target>
    </configuration>
</plugin>
  1. 如果是Spring Boot项目,同时在properties节点中统一设置Java版本:
<properties>
    <java.version>17</java.version>
    <!-- 其他属性... -->
</properties>
  1. 提交修改并重新推送:
git add pom.xml
git commit -m "调整Java编译版本为17以适配Heroku环境"
git push heroku master

方案二:指定Heroku使用Java 18版本

若需要保留Java 18,在项目根目录创建名为system.properties的文件,添加以下内容:

java.runtime.version=18

提交文件并重新推送:

git add system.properties
git commit -m "指定Heroku使用Java 18运行环境"
git push heroku master

处理重复构建警告

如果推送时出现重复版本的警告,确认当前工作分支:

  • 若你在非master分支开发,推送时需要指定分支映射:
git push heroku <你的本地分支名>:main

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 08:09:17