Java不支持类的版本上heroku的NodeJs应用程序?

我有一个node.js应用程序需要一个java文件在本地目录中运行。 我正在使用subprocess运行java文件,并在本地主机上正常工作。

但是,当我尝试将应用程序部署到heroku时,出现以下错误日志:

错误日志

任何想法可能是错的?

您的Java代码是为Java 8编译的,但是它在Heroku上运行在Java 7上.Cedar-14堆栈映像(Heroku的基础平台)上的默认JDK是Java 7。

为了使用Java 8,您还需要使用Java buildpack。 但是由于看起来你正在试图运行一个二进制文件,你只需要基本的buildpack ,它不会尝试编译任何东西。

运行这些命令应该为您解决问题:

$ heroku buildpacks:clear $ heroku buildpacks:add https://github.com/heroku/heroku-buildpack-jvm-common $ heroku buildpacks:add heroku/nodejs 

然后重新部署。 您可以通过运行以下命令来确认Java的版本:

 $ heroku run java -version Running java -version on nameless-reef-3840... up, run.7606 openjdk version "1.8.0_66-cedar14" OpenJDK Runtime Environment (build 1.8.0_66-cedar14-b17) OpenJDK 64-Bit Server VM (build 25.66-b17, mixed mode) 

jvm buildpack的默认Java版本是Java 8,因此您不需要任何其他configuration。