hadoop - HIPI 版本错误

标签 hadoop hipi

当我运行 tools/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 吗?

最佳答案

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

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

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

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

关于hadoop - HIPI 版本错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37796335/

相关文章:

opencv - 如何在 OpenCV 3.0.0-1.1 Java API 中操作 Mat 图像中的单个像素

java - Spark安装与log4j冲突

java - 从jsp servlet运行mapreduce作业

java - 使用sdkman安装后如何设置gradle路径

java - 运行第一个HIPI程序时,出现JSON错误。我应该在哪里添加它以及如何添加?

GitHub:权限被拒绝(公钥)。 fatal: 从 GitHub 克隆目录时远程端意外挂断

hadoop - 任务计数器和作业计数器的区别

hadoop - 事件名称节点崩溃时不会触发故障转移

java - Hadoop ArrayWritable 给我一个 ClassCastException