HIPI 版本错误

version error in HIPI

当我 运行 工具/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[=10=]0(URLClassLoader.java:73)
    at java.net.URLClassLoader.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 吗?

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

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

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

提示:要找出 java 版本命令是 java -version on linux shell(bash 或其他)