heroku 中的错误 java 版本

wrong java version in heroku

我已经创建了一个 spring 启动应用程序并想 运行 它在 heroku 上。 我的应用程序是使用 java 9.

编译的

当我使用 CLI plugin 将它部署到 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

显然这意味着 java 版本不匹配。我使用 属性 java.runtime.version=9 as explainedsystem.properties 文件添加到我的资源文件夹,但仍然出现相同的错误。

当我 运行 命令 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)

所以 heroku 似乎仍然没有选择所需的 java 版本。 有什么想法吗?

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

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

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

到时候一切都会好起来的。