[Решено] Файл класса Java имеет неправильную версию 61.0

Научитесь решать исключение компилятора Java при миграции вашего приложения Java. Например, миграция приложения Spring на Spring 6 или Spring Boot 3.

1. Проблема

Мы можем столкнуться с ошибкой «Файл класса Java имеет неправильную версию 61.0», когда ожидается, что зависимая сторонняя библиотека имеет минимальную поддерживаемую версию Java 17.

Например, базовой версией для Spring Framework 6 и Spring Boot 3 является Java 17. Если мы скомпилируем приложение Spring Boot 3 с более низкой версией JDK, то получим следующую ошибку компиляции:

 java: невозможно получить доступ к org.springframework.boot.SpringApplicationНеправильный файл класса: /C:/devsetup/m2/org/springframework/boot/spring-boot/3.0.0/spring-boot-3.0.0.jar!/org/springframework/boot/SpringApplication.classclass-файл имеет неправильную версию 61.0, должна быть 52.0Пожалуйста, удалите его или убедитесь, что он находится в правильном подкаталоге classpath.

Аналогично мы получаем ошибку «файл класса имеет неправильную версию 61.0, должна быть 55.0», когда то же самое приложение компилируется с помощью Java 11.

2. Решение

Чтобы исправить проблему компиляции, нам необходимо скомпилировать приложение с версией Java не ниже 17. Как только мы обновим приложение до Java 17, ошибка будет исправлена.

В приложении Maven версию Java следует обновить, как показано в следующей конфигурации в pom.xml.

 <родитель><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><версия>3.0.0</версия></parent><свойства><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target></свойства>

Также не забудьте изменить настройки проекта, если вы используете IDE. Например, в IntelliJ Idea необходимо изменить версию SDK в настройках проекта.

[Решено] Файл класса Java имеет неправильную версию 61.00

После внесения вышеуказанных изменений ошибка компилятора исчезнет.

3. Версии файлов классов Java

Ниже приведены версии файлов классов из Java 8.

Java-версия Версия файла класса
Ява 8 52.0
Ява 9 53.0
Ява 10 54.0
Ява 11 55.0
Ява 12 56.0
Ява 13 57.0
Ява 14 58.0
Ява 15 59.0
Ява 16 60.0
Ява 17 61.0
Ява 18 62.0
Ява 19 63.0
Ява 20 64.0
Ява 21 65.0
Ява 22 66.0
Ява 23 67.0
Ява 24 68.0

Номер версии в исключении Java поможет вам понять, какая версия JDK используется и что ожидается.

Прокрутить вверх