Неподдерживаемая версия major.minor 52.0
Изображения:
Командная строка с версиями
Изображение ошибки
Hello.java
import java.applet.Applet;
import java.awt.*;
public class Hello extends Applet {
// Java applet to draw "Hello World"
public void paint (Graphics page) {
page.drawString ("Hello World!", 50, 50);
}
}
Hello.html
<HTML>
<HEAD>
<TITLE>HelloWorld Applet</TITLE>
</HEAD>
<BODY>
<APPLET CODE="Hello.class" WIDTH=300 HEIGHT=150>
</APPLET>
</BODY>
</HTML>
Error
Hello : Unsupported major.minor version 52.0
В чем проблема?
Ответы
Ответ 1
Проблема связана с несоответствием версии Java. Ссылаясь на Справочник по видам Java Википедии:
- J2SE 9 = 53
- J2SE 8 = 52
- J2SE 7 = 51
- J2SE 6.0 = 50
- J2SE 5.0 = 49
- JDK 1.4 = 48
- JDK 1.3 = 47
- JDK 1.2 = 46
- JDK 1.1 = 45
Это назначенные основные номера. Ошибка в отношении неподдерживаемой версии major.minor заключается в том, что во время компиляции вы используете более высокий JDK и более низкий JDK во время выполнения.
Таким образом, ошибка "major.minor version 52.0", возможно, связана с тем, что jar был скомпилирован в jdk 1.8, но вы пытаетесь запустить его с помощью среды jdk 1.7. Номер сообщения - это требуемое число, а не номер, который вы используете. Чтобы решить эту проблему, всегда лучше, чтобы jdk и jre указывали на одну и ту же версию.
В Intellij,
- Перейдите в Настройки Maven → Maven → Импорт. Установите JDK для импортера на 1.8
- Перейдите в Настройки Maven → Maven → Runner. Установите JRE на 1.8
- Перейдите в Файл → Структура проекта → SDK. Убедитесь, что исходный путь JDK установлен в 1.8
Перезапустить Intellij
Другим подходом, который может помочь, является указание IDEA, с которой запускается версия JDK.
Перейдите по ссылке: /Приложения/IntelliJ\IDEA\15\CE.app/Contents/Info.plist
и замените версию JVM на:
<key>JVMVersion</key>
<string>1.8*</string>
Ответ 2
Умный способ исправить эту проблему заключается в компиляции с использованием последнего SDK и использовании кросс-компиляции при компиляции. Для правильного использования параметров требуется rt.jar
JRE (не JDK) целевой версии.
Учитывая природу этого апплета, похоже, он может быть скомпилирован для использования с Java 1.1.
Ответ 3
Вам нужно будет изменить уровень соответствия вашего компилятора на 1.7 в вашей среде IDE. Это можно сделать в настройках предварительной настройки вашей среды IDE, например, в Eclipse, перейдите в Windows → Prefences, затем выберите Java и разверните ее, затем выберите Compiler и измените уровень соответствия на 1.7. Я уверен, что это будет работать оттуда
Ответ 4
Вы должны запустить и скомпилировать ваше приложение с той же версией Java.
Если вы используете Eclipse, вы должны сделать 2 вещи:
-
В Eclipse нажмите "Window > Preferences", а в появившемся окне в левой части в разделе "Java" нажмите "Установленные JRE", нажмите "Добавить..." и перейдите в папку, содержащую JDK.
-
Щелкните правой кнопкой мыши на своем проекте и нажмите "Свойства" в появившемся окне с левой стороны, щелкните "Компилятор Java" и снимите флажок "Использовать соответствие из среды исполнения на пути сборки Java", это позволяет вам выбрать в списке "Компилятор компиляции" ту же версию, что и на предыдущем шаге.
Ответ 5
Вам нужно обновить версию java до java 8.
Загрузка последнего Java-архива
Загрузите последнюю версию Java SE Development Kit 8 с официальной страницы загрузки или используйте следующие команды для загрузки из оболочки.
Для 64Bit
# cd /opt/
# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u51-b16/jdk-8u51-linux-x64.tar.gz"
# tar xzf jdk-8u51-linux-x64.tar.gz
Для 32Bit
# cd /opt/
# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u51-b16/jdk-8u51-linux-i586.tar.gz"
# tar xzf jdk-8u51-linux-i586.tar.gz
Примечание. Если команда Above wget не работает для вас, посмотрите этот пример, чтобы загрузить исходный архив java с помощью терминала.
Установка Java с альтернативами
После извлечения файла архива используйте команду alternatives для его установки. альтернатива доступна в пакете chkconfig.
# cd /opt/jdk1.8.0_51/
# alternatives --install /usr/bin/java java /opt/jdk1.8.0_51/bin/java 2
# alternatives --config java
В этот момент JAVA 8 был успешно установлен в вашей системе. Мы также рекомендуем установить путь javac и jar команд с использованием альтернатив
# alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_51/bin/jar 2
# alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_51/bin/javac 2
# alternatives --set jar /opt/jdk1.8.0_51/bin/jar
# alternatives --set javac /opt/jdk1.8.0_51/bin/javac
Проверить установленную версию Java
Проверьте установленную версию java, используя следующую команду.
[email protected] ~# java -version
java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)
Настройка переменных среды
Большинство приложений на основе Java используют переменные среды для работы. Задайте переменные среды Java, используя следующие команды
Настройка JAVA_HOME Переменная
# export JAVA_HOME=/opt/jdk1.8.0_51
Setup JRE_HOME Variable
# export JRE_HOME=$JAVA_HOME/jre
Setup PATH Variable
# export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
Обратите внимание, что изменение переменной PATH сначала помещает новые папки bin bin, чтобы они перекрывали любые существующие java/bin в пути. Немного небрежно оставлять две папки java/bin на вашем пути, поэтому вам следует посоветовать их очистить как отдельную задачу.
Также поместите все вышеперечисленные переменные среды в файл /etc/environment для автоматической загрузки при загрузке системы.
Ответ 6
У меня была та же проблема... конфликт JDK и Plug-In.
Я скомпилировал с использованием 1,8... последнего, и это сообщение начало появляться.
Поэтому я искал JRE 7 (http://www.oracle.com/technetwork/java/javase/downloads/server-jre7-downloads-1931105.html).. и установил его... снова...
Теперь 1.8 и 1.7 на одном компьютере.
Использование Netbeans и компиляция с таргетингом на версию 1.7 устранили мою проблему.
Ответ 7
Если у вас возникли проблемы в Android Studio и вы установили Android N, измените версию рендеринга Android на более старую, и проблема исчезнет.
![введите описание изображения здесь]()
Ответ 8
Если вы используете среду IDE NetBeans, щелкните правой кнопкой мыши проект и выберите "Свойства" и перейдите к источникам, и вы можете изменить исходный/двоичный формат на более низкую версию JDK.
![Enter image description here]()
Ответ 9
Неподдерживаемая версия major.minor 52.0 возникает, когда вы пытаетесь запустить класс, скомпилированный с использованием компилятора Java 1.8, в более низкую версию JRE, например. JRE 1.7 или JRE 1.6. Самый простой способ исправить эту ошибку - установить последнюю версию Java, то есть Java 8 и запустить вашу программу.
Подробнее: http://javarevisited.blogspot.com/2015/05/fixing-unsupported-majorminor-version.html#ixzz4AVD4Evgv
Ответ 10
Я мог бы решить ту же проблему, используя нижеприведенное решение.
В моем проекте я добавил JAR файл, который был создан в Java 8. И мой проект имел в виду JRE 7. Когда я изменил проект JRE на 8, моя проблема была решена.
Шаги:
В Eclipse щелкните правой кнопкой мыши имя проекта в проводнике проекта → Путь сборки → Библиотеки → нажмите на версию JRE → нажмите "Редактировать" → "Установленная JRE" → Добавить → Standerd VM → выберите JRE home click-path (путь должен быть localePath\java\jdk1.8.0_25\jre
) → укажите имя → Сохранить → выберите одну и ту же JRE для проекта → Закончить → OK. Проект обновления/сборки один раз → попробуйте запустить файл Java. Он должен работать.
Ответ 11
Это происходит, когда вы скомпилируете свои проекты на higher version
java (скажем, jdk 1.8), а затем запустите его на lower version
(скажем, jdk 1.7).
Если у вас есть библиотека JRE-1.7 в пути к проекту,
1.Нажмите на проект
2.Go to Properties
3.Выберите грань проекта
4. Запустите Java в строках, а затем выберите версию (скажем, 1.7), если используете JRE-1.7
5.Щелкните Применить и запустить проект.
Ответ 12
У меня установлена Java 1.7 и 1.8 (с SBT 2.4, которая требует Java 1.8).
Хотя мой проект был связан с Java 1.8, мне пришлось изменить переменную среды JAVA_HOME в пункт 1.8.
Наконец, проблема решена.
Ответ 13
Я решил мой, удалив старые версии JRE и установил JRE 8
Ответ 14
Если вы используете eclipse, убедитесь, что ваша системная библиотека Project- > properties- > java build path- > libraries- > JRE соответствует вашим требованиям к проекту. (Как показано на рисунке)
![введите описание изображения здесь]()
Ответ 15
все, что вам нужно сделать, чтобы решить проблему, - это... чтобы ваша версия java была одинаковой для компиляции и работы. независимо от того, какие инструменты или идеи вы используете.
Ответ 16
Это произошло со мной, когда я установил новый Java 1.8, но оставил интерпретатор старой командной строки открытым. Он имел старый путь и продолжал выполнение приложения с Java 1.7, тогда как проект уже был построен с Java 1.8.
Ответ 17
Если вы используете Linux и у вас установлены разные версии Java, используйте следующую команду:
sudo update-alternatives --config java
Это даст быстрый способ переключения между версиями Java, установленными в системе. Выбрав Java 8, я решит вашу проблему.
Ответ 18
Если ваша версия JDK верна. Другая причина может привести к этой ошибке в том, что ваш Android Studio находится в низкой версии, но ваша версия gradle слишком высока. Upgrade your IDE to a newer version
может помочь в этом.
Ответ 19
Вам нужно использовать jdk1.7.0, а не jdk1.8.0.
Чтобы убедиться в этом, вам необходимо удалить jdk1.8.0 на вашем компьютере.
Если вы используете mac, вам нужно удалить:
/Library/Java/JavaVirtualMachines/jdk.jdk
/Library/PreferencePanes/JavaControlPanel.prefPane
/Library/Интернет-плагины/JavaAppletPlugin.plugin
Затем вам нужно переустановить jdk1.7.0, и вам удастся создать файл .jar.
Ответ 20
Обновите версию Андорры до JDK 1.8
Это совпадение версии, которое ваш компилятор ищет java-версию 8, и у вас есть Java-версия 7.
Вы можете запустить сборку приложения в версии 7 в версии 8, но вы не можете делать наоборот, потому что, когда дело доходит до более высоких уровней, версии встроены с большим количеством функций, улучшений, а не предыдущих версий
Загрузить версию JDK из этой ссылки
И установите для этого путь JDK
Ответ 21
Возможно, вы захотите проверить настройки Run Configurations, если вы используете Eclipse Luna и уже выполнили все шаги, упомянутые выше.
В этой ошибке может быть несколько возможностей. Коренной причиной является несоответствие проекта, требующего компиляции в JDK1.8/JRE8, тогда как компилятор среды JDK1.7/JRE7.
Вы можете проверить мое сообщение в блоге, чтобы просмотреть все ваши настройки.
Ответ 22
Ни один из этих ответов не помог мне, но я нашел решение.
У меня был веб-проект, используемый в Wildfly 8.2, построенный с Maven, исходный и целевой был установлен на 1.8 на maven-компилятор-плагин, а также все настройки Eclipse и Maven были установлены на Java 1.8.
Проблема заключалась в том, что Wildfly 8.2 не может обрабатывать Java 1.8, поэтому мне пришлось установить все на 1.7, и это сработало.
Ответ 23
Если вы используете Intellij, перейдите в Project Structure (Ctrl + Alt + Shift + S), и вы можете изменить свои проекты JDK.
Ответ 24
Просто хочу добавить это. У меня была эта проблема сегодня. Скорректированы настройки в моем проекте, перестроены и одна и та же проблема. Я (неправильно) предположил, что изменение настроек в моем проекте (Eclipse) приведет к тому, что проекты, на которых мой проект также будет перекомпилирован.
Настройка параметров ко всем проектам в дереве зависимостей решила проблему.
Ответ 25
Я столкнулся с этой проблемой в Eclipse в Mac OS X Mavericks. Я пробовал много ответов на SO.. наконец, после целого дня я установил новую версию Android SDK (и обновил Eclipse Project- > Properties- > Android, чтобы использовать новый путь). Я должен был получить обновления SDK, но только сбрасывал только те обновления, которые, как я думал, были необходимы, избегая API. Я не работал с этими API (например, Wear and TV). , и это сделало трюк. По-видимому, похоже, что я повредил свой SDK где-то на этом пути.
btw.. Я видел обратную поверхность ошибки с одним проектом в моей рабочей области, но, похоже, это связано с импортом appcompat-7, который я не использовал. После этого проекта до сих пор не было видно, что проблема возникает.
Ответ 26
Просто перейдите в http://java.com/en/download/ и обновите версию JRE