Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
heroku上nodejs应用程序的Java不支持的类版本?_Java_Node.js_Heroku - Fatal编程技术网

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

heroku上nodejs应用程序的Java不支持的类版本?,java,node.js,heroku,Java,Node.js,Heroku,我有一个node.js应用程序,需要在本地目录中运行一个java文件。我使用一个子进程运行java文件,它在本地主机上运行得非常好 但是,当我尝试将应用程序部署到heroku时,会出现以下错误日志: 有什么想法吗?您的Java代码是为Java 8编译的,但它是在带有Java 7的Heroku上运行的。cedar-14堆栈映像(Heroku的基本平台)上的默认JDK是Java7 为了使用Java8,您还需要使用JavaBuildPack。但是,由于您似乎正在尝试运行二进制文件,因此只需要,而不尝

我有一个node.js应用程序,需要在本地目录中运行一个java文件。我使用一个子进程运行java文件,它在本地主机上运行得非常好

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


有什么想法吗?

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

为了使用Java8,您还需要使用JavaBuildPack。但是,由于您似乎正在尝试运行二进制文件,因此只需要,而不尝试编译任何东西

运行这些命令可以解决您的问题:

$ 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,因此您不需要任何其他配置。

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

为了使用Java8,您还需要使用JavaBuildPack。但是,由于您似乎正在尝试运行二进制文件,因此只需要,而不尝试编译任何东西

运行这些命令可以解决您的问题:

$ 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构建包的默认Java版本是Java8,因此您不需要任何其他配置