linux .sh执行中的Java版本问题?

时间:2015-06-22 12:37:54

标签: java linux shell

我的.sh文件如下。

export JAVA_HOME=/usr/jdk/latest
export PATH=$JAVA_HOME/bin:$PATH
java -Dlogback.configurationFile=./conf/logback.xml  -cp CLASSPATH:Client.jar com.test.main.Client 
exit

如果我运行脚本,我会收到以下错误消息。

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/test/main/Client : Unsupported major.minor version 52.0

我读了一些文档和他们的说法,因为java版本问题正在发生。我检查了我的本地机器版本和linux服务器版本。两者都是一样的。 我使用gradle 2.4构建应用程序并将sourceCompatibility和targetCompatibility设置为1.8。

sourceCompatibility = 1.8
targetCompatibility = 1.8

本地机器java版。

java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b15)
Java HotSpot(TM) Client VM (build 25.45-b02, mixed mode)

Linux服务器java版

java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

如果我只是编辑.sh文件(添加空间)并运行它工作正常。

你可以请一些人帮忙解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

在编译8时,您使用的是旧的Java版本(8之前)。

下载jdk8,安装它并将JAVA_HOME(在您的脚本中)指向新安装的jdk。