0

当我运行工具/hibImport.sh时,出现以下错误

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/hipi/tools/HibImport : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:274)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:153)

我该怎么办?我需要升级我的JDK吗?

4

1 回答 1

1

基本上,UnsupportedClassVersionError因为 java 程序是在一个特定的 JDK 版本(更高)上编译并在另一个不兼容的版本(更低的 JDK 版本)上运行的。

如果更高版本的 JDK 已经存在,修复可能会将符号链接(unix/linux)指向已编译的版本。否则,您需要通过新安装将 JDK 升级到最新版本(是的,在这种情况下您是对的)。

如果您想具体找出它编译的 jar 的 JDK 版本,您可以通过查看清单文件来判断主要版本。(您必须使用jar -xvf yourjar才能查看清单文件内容)

提示:要找出 java 版本命令java -version在 linux shell(bash 或其他东西)上

于 2016-06-13T18:28:30.513 回答