当前位置: 首页 > 知识库问答 >
问题:

线程“main”java.lang.UnsupportedClassVersionError中出现异常,不支持Major.Minor版本52.0

方长卿
2023-03-14

我试图在Hadoop-1.0.4上运行WordCount示例,但我得到以下错误:

Exception in thread "main" java.lang.UnsupportedClassVersionError: WordCount :
Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:149)

我使用的是以下Java版本:

java version "1.7.0_11"
Java(TM) SE Runtime Environment (build 1.7.0_11-b21)
Java HotSpot(TM) Server VM (build 23.6-b04, mixed mode)

另外,JAVA_HOME指示java7安装目录。

谢谢你的帮助。

共有2个答案

冀崇凛
2023-03-14

我解决了同样的问题。我发现我的hadoop-env.sh中的java_home/usr/lib/jvm/java-6-openjdk,但/etc/profile中的java_home/usr/local/java/jdk1.8.0_25

在我将/etc/profile中的java_home更改为/usr/lib/jvm/java-6-openjdk之后,这与hadoop-env.sh相同,并使用$source/etc/profile#创建/etc/profile效果

我的问题解决了!我希望这能对你有所帮助。

令狐经武
2023-03-14

似乎您正在使用JDK8进行编译,并在您正在使用它的地方使用更低版本。

所以

假设使用eclipse,窗口>首选项>编译器>编译器级别

然后设置较低级别(<当前级别)。

 类似资料: