JDK错误版本

时间:2017-05-02 18:55:02

标签: java jar jdk1.8.0

大家好!

我有一个带有jar库的java程序,它适用于以下JDK版本:

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

我需要在适用于以下JDK版本的超级计算机上进行编译:

java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

正如您所看到的,它们都具有相同的JDK,即JDK 8.但是,在编译时使用:

javac myFile.java 

出现以下错误:

class file has wrong version 51.0, should be 48.0

似乎编译是在另一个JDK(8除外)上完成的。有人可以帮我解决这个问题吗?

最诚挚的问候!

1 个答案:

答案 0 :(得分:1)

发生java.lang.UnsupportedClassVersionError是因为编译期间JDK较高,运行时期间JDK较低。

J2SE 8=52,
J2SE 7=51,
J2SE 6.0=50,
J2SE 5.0=49,
JDK 1.4=48,
JDK 1.3=47,
JDK 1.2=46,
JDK 1.1=45

第一条规则:您的本地PC和服务器上的Java版本必须相同。否则可能会出现这种不必要的问题。

如需更多检查,您可以查看

  

java --version

     

javac --version

它将澄清jdk和jre版本不匹配。如果它显示各种版本,则卸载其他版本并构建项目并在服务器上部署。

另一个答案与您的问题类似:Cannot compile Java code - "class file has wrong version 52.0, should be 48.0"

资源链接:

Exception in thread “main” java.lang.UnsupportedClassVersionError: com/crunchify/Main : Unsupported major.minor version 51.0