当我明确地告诉它时,为什么Heroku不能识别正确的Java版本?

时间:2018-12-25 14:56:21

标签: java heroku heroku-cli

在我的spring-maven-java项目上的git push heroku master上,Heroku cli识别出它是一个Java项目并尝试构建它。它打印出它正在安装 JDK 1.8 ,并且在大量终端输出后显示[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project myProject: Fatal error compiling: invalid target release: 10.0.2

maven-compiler-plugin配置源和目标明确标识了Heroku文档可接受的Java 10.0.2,并且java.runtime.version=10.0.2application.properties中都包含system.properties

我想我需要让Heroku在开始时安装正确的JDK。如何获得Heroku以获取和使用Java 10?

请参阅我尝试修改的程度 maven-compiler-plugin

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.0</version>
    <configuration>
        <source>10.0.2</source>
        <target>10.0.2</target>
        <release>10.0.2</release>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.ow2.asm</groupId>
            <artifactId>asm</artifactId>
            <version>6.2</version>
        </dependency>
    </dependencies>
</plugin>

2 个答案:

答案 0 :(得分:1)

在应用的根目录中创建一个system.properties文件,并将以下内容放入其中:

java.runtime.version=10.0.2

将其提交给Git并再次推送。有关更多信息,请参见Heroku'd Dev Center

答案 1 :(得分:0)

我也遇到同样的问题。但是,我尝试使用Java11。我已经按照heroku docs中的所有步骤进行操作,将system.properties文件放在应用程序的根目录中,并设置了正确的版本,但是heroku无法识别它。并尝试始终使用jdk 8构建我的应用。

----->检测到Java应用程序
   ----->安装 JDK 1.8 ...已完成