Ответ 1
Похоже, вы используете JDK8 для компиляции и более поздней версии там, где вы ее используете.
So
Предполагая использование затмения, Window > Preferences > Compiler > compiler level
а затем установите нижний уровень (< текущий).
Я пытаюсь запустить пример 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.
Спасибо за вашу помощь.
Похоже, вы используете JDK8 для компиляции и более поздней версии там, где вы ее используете.
So
Предполагая использование затмения, Window > Preferences > Compiler > compiler level
а затем установите нижний уровень (< текущий).
У меня была та же проблема, которую я решил. я нашел это
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
Моя проблема решена! Надеюсь, это поможет вам.
Похоже, кому-то удалось скомпилировать класс с компилятором Java 8. Перекомпилируйте поврежденную банку с уровнем соответствия Java 7 или ниже.
Ну, очевидно, что это не сработает! Вы компилируете новый JDK и развертываете его на более раннем JDK/JRE. Вам нужно скомпилировать старшую JDK.
Проблема связана с тем, что файлы .jsp компилируются с более высоким компилятором (8), чем ожидалось (7). Измените все уровни компиляции на более низкую (например, 7) также измените путь jdk, указанный в файле настроек конфигурации eclipse, в той же папке, где находится .exe.
Я думаю, что вы уже получили свой ответ. Просто добавьте, в проекте eclipse под проектом находится папка JRE System Library [JavaSE-1.x]. Щелкните правой кнопкой мыши на нем, вы увидите экран библиотеки JRE. вы можете установить среду выполнения.