在Centos 6.6服务器上,如何在不使用“java -jar”命令的情况下运行可执行JAR或WAR文件时如何select应该select哪个java。 我的意思是,我想用“./archive.war”命令来执行它。
在这台服务器上,我安装了java6,java7和java8。 用户root的PATH和JAVA_HOME指向java8(所有事情都由root完成)。 我想要执行的可执行WAR需要用java8运行。
当我用“java -jar”命令运行我的可执行文件WAR时,一切正常。 所选的Java版本是正确的。
[...]# java -version java version "1.8.0" Java(TM) SE Runtime Environment (build 1.8.0-b132) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
但是,当我尝试使用以下命令运行这场战争…
./archive.war
我得到一个Java版本的错误。
Exception in thread "main" java.lang.UnsupportedClassVersionError: <CLASS HERE!> : Unsupported major.minor version 52.0
这意味着Centos没有select预期的java8版本。 用户root的PATH和JAVA_HOMEvariables没有被考虑到?
我想我错过了一些东西,它会告诉系统在执行带有* .WAR / JAR文件扩展名的文件时必须使用哪个可执行文件? 目前,这必须指向java6或java7,而不是java8。
作为root用户,您可以在/ etc / profile中附加JAVA_HOME值
export JAVA_HOME=/opt/jdkpath PATH=$PATH:$HOME/bin:/opt/jdkpath/bin
将/ opt / jdkpath更改为您的jdk安装的正确path。
一旦你这样做,你可以注销并login回执行服务命令