heroku 中的 Java 版本错误

for*_*has 5 heroku spring-boot java-9

我创建了一个 spring boot 应用程序,并希望在heroku上运行它。我的应用程序是使用 java 9 编译的。

当我使用CLI 插件将它部署到 heroku 时,我得到了

Exception in thread "main" java.lang.UnsupportedClassVersionError: io/safeblocks/firewall/FirewallApplication has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0
Run Code Online (Sandbox Code Playgroud)

显然,这意味着 Java 版本不匹配。我按照说明system.properties文件添加到我的资源文件夹中java.runtime.version=9 但仍然出现相同的错误。

当我运行命令时,heroku run java -version --app myApp 我得到:

openjdk version "1.8.0_171-heroku"
OpenJDK Runtime Environment (build 1.8.0_171-heroku-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)
Run Code Online (Sandbox Code Playgroud)

所以看起来 heroku 仍然没有选择所需的 Java 版本。有任何想法吗?

jor*_*gut 2

我看到您将该system.properties文件添加到资源文件夹中,我犯了同样的错误。该文件system.properties必须放置在项目的根文件夹下。

您的文件内容是正确的: java.runtime.version=9

将文件移至根文件夹后,提交更改并执行以下操作: git push heroku master

那么一切都应该好起来。