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

部署Spring Boot应用至Heroku时遭遇"invalid flag: --release"错误求助

解决Heroku部署Maven项目时的invalid flag: --release编译错误

以下是针对该问题的具体解决方法:

  • 强制指定Heroku使用的JDK版本
    在项目根目录创建system.properties文件,添加对应版本的配置(以Java 17为例):

    java.runtime.version=17
    

    该文件会约束Heroku构建环境使用指定版本的JDK,避免默认环境使用不支持--release参数的旧版本JDK(如JDK 8及更早版本不支持该参数)。

  • 显式配置Maven编译器插件
    在pom.xml的<build><plugins>节点下添加maven-compiler-plugin的明确配置,确保编译参数与目标JDK兼容:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.11.0</version>
        <configuration>
            <source>17</source>
            <target>17</target>
            <release>17</release>
        </configuration>
    </plugin>
    

    虽然Spring Boot父项目会默认配置该插件,但显式声明可以避免版本或参数匹配问题,确保--release参数与目标JDK版本兼容。

  • 更新Heroku Java Buildpack
    执行以下命令确保使用官方最新的Java Buildpack:

    heroku buildpacks:set heroku/java
    

    旧版本的Buildpack可能存在JDK版本适配问题,更新后能获得更稳定的构建环境。

  • 清除Heroku构建缓存
    缓存残留可能导致旧的JDK或依赖影响构建,执行命令清除缓存后重新部署:

    heroku builds:cache:purge
    git push heroku master:main
    
  • 确认部署分支的正确性
    Heroku当前默认主分支为main,若你本地使用master分支部署,需使用正确的推送命令:

    git push heroku master:main
    

    避免因分支不匹配导致的重复构建警告,确保构建流程正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 22:34:59