Вопрос-ответ

Unsupported major.minor version 52.0 [duplicate]

Неподдерживаемая основная.второстепенная версия 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>

Ошибка

Hello : Unsupported major.minor version 52.0

В чем может быть проблема?

Переведено автоматически
Ответ 1

Проблема связана с несоответствием версий Java. Ссылаясь на спецификацию JVM, ниже приведены основные версии файлов классов для использования с различными версиями Java. (На данный момент все версии поддерживают все предыдущие версии.)















































































Java SE versionMajor version
1.0.245
1.145 (Not a typo, same version)
1.246
1.347
1.448
5.049
650
751
852
953
1054
1155
1256
1357
1458
1559
1660

Этим присвоены основные номера. Ошибка, связанная с неподдерживаемой основной.младшей версией, связана с тем, что во время компиляции вы используете более высокий JDK и более низкий JDK во время выполнения.

Таким образом, ошибка 'major.minor версия 52.0', возможно, связана с тем, что jar был скомпилирован в JDK 1.8, но вы пытаетесь запустить его, используя среду JDK 1.7. Сообщаемый номер - это требуемый номер, а не тот номер, который вы используете. Чтобы решить эту проблему, всегда лучше, чтобы JDK и JRE указывали на одну и ту же версию.

В IntelliJ IDEA,


  1. Перейдите в Настройки MavenMavenИмпорт. Установите JDK для импортера равным 1.8.

  2. Перейдите в Настройки MavenMavenRunner. Установите значение JRE равным 1.8.

  3. Перейдите в меню Файл * → Структура проектаSDKS. Убедитесь, что для начального пути JDK установлено значение 1.8.

Перезапустите IntelliJ IDEA.

Другой подход, который мог бы помочь, заключается в указании IntelliJ IDEA, с какой версией JDK запускать.

Перейдите по адресу: /Applications/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, что означает, что вы бы использовали javac -target 1.1.

Ответ 3

Вам нужно будет изменить уровень соответствия компилятору обратно на 1.7 в вашей IDE.

Это можно сделать в настройках настроек вашей IDE. Например, в Eclipse перейдите в меню WindowsНастройки, выберите Java и разверните его. Затем выберите Компилятор и измените уровень соответствия на 1.7. Я уверен, что дальше это будет работать.

Ответ 4

Вы должны запустить и скомпилировать свое приложение с той же версией Java.

Если вы используете Eclipse, вам следует сделать 2 вещи:


  1. В Eclipse нажмите на "Окно > Настройки", и в появившемся окне слева, в разделе "Java", нажмите на "Установленные JRES", нажмите на "Добавить..." и перейдите в папку, содержащую JDK.


  2. Щелкните правой кнопкой мыши по вашему проекту и нажмите на "Свойства", в появившемся окне слева нажмите на "Компилятор Java" и снимите флажок "Использовать соответствие из среды выполнения по пути сборки Java", это позволяет вам выбрать в списке "Уровень компиляции компилятора" ту же версию, которую вы установили на предыдущем шаге.


java