我已经创建了一个Spring Boot应用程序,并希望在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版本不匹配。我将system.properties
文件添加到资源文件夹中,并带有属性java.runtime.version=9
as explained,但是仍然遇到相同的错误。
运行命令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版本。 有什么想法吗?
答案 0 :(得分:1)
我看到您将system.properties
文件添加到资源文件夹中,我犯了同样的错误。文件system.properties
必须放在项目的根文件夹下。
您的文件内容正确:
java.runtime.version=9
将文件移动到根文件夹后,提交更改并执行以下操作:
git push heroku master
那么一切都很好。