hadoop问题集锦及解决方案

来源:互联网 发布:揭秘网络棋牌骗局 编辑:程序博客网 时间:2024/05/20 09:21

1.今天在linux下运行程序时,程序发生以下错误:



Exception in thread "main" java.lang.UnsupportedClassVersionError: cmd/WordCountApp : Unsupported major.minor version 51.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:149)

报错的主要信息为:编译程序时所用的JDK版本比运行时所用的JDK版本较高(说明JRE较低);

我也是这么做的,程序是用JDK1.7进行编译的,所以程序就产生了JDK1.7相应的class 文件,但是运行的时候却使用了JDK1.6,由于

高版本的JDK可能不兼容于低版本的JDK,所以在运行时难免会报错。

解决思路:保持程序编译与运行时JDK版本一致。

解决方案:1.重新使用JDK1.6重新进行编译(本人使用方法);2.运行时的JDk换成高版本的JDK1.7

帮助:在linux下执行java -version与javac -version 可以查看JDK版本信息;

0 0
原创粉丝点击