Подтвердить что ты не робот

Исключение в потоке "main" java.lang.UnsupportedClassVersionError, Unsupported major.minor version 52.0

Я пытаюсь запустить пример WordCount на hadoop - 1.0.4, и я получаю следующую ошибку:

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.

Спасибо за вашу помощь.

4b9b3361

Ответ 1

Похоже, вы используете JDK8 для компиляции и более поздней версии там, где вы ее используете.

So

Предполагая использование затмения, Window > Preferences > Compiler > compiler level

а затем установите нижний уровень (< текущий).

Ответ 2

У меня была та же проблема, которую я решил. я нашел это JAVA_HOME в моем hadoop-env.sh есть /usr/lib/jvm/java-6-openjdk но JAVA_HOME в /etc/profile - /usr/local/java/jdk1.8.0_25.

После изменения JAVA_HOME в /etc/profile до /usr/lib/jvm/java-6-openjdk, который совпадает с hadoop-env.sh и использует $source /etc/profile # to make /etc/profile effects

Моя проблема решена! Надеюсь, это поможет вам.

Ответ 3

Похоже, кому-то удалось скомпилировать класс с компилятором Java 8. Перекомпилируйте поврежденную банку с уровнем соответствия Java 7 или ниже.

Ответ 4

Ну, очевидно, что это не сработает! Вы компилируете новый JDK и развертываете его на более раннем JDK/JRE. Вам нужно скомпилировать старшую JDK.

Ответ 5

Проблема связана с тем, что файлы .jsp компилируются с более высоким компилятором (8), чем ожидалось (7). Измените все уровни компиляции на более низкую (например, 7) также измените путь jdk, указанный в файле настроек конфигурации eclipse, в той же папке, где находится .exe.

Ответ 6

Я думаю, что вы уже получили свой ответ. Просто добавьте, в проекте eclipse под проектом находится папка JRE System Library [JavaSE-1.x]. Щелкните правой кнопкой мыши на нем, вы увидите экран библиотеки JRE. вы можете установить среду выполнения.