Эта ошибка возникает из-за того, что JVM по умолчанию (виртуальная машина Java: виртуальная машина Java) на вашем компьютере пытается выполнить класс, который был скомпилирован в версии JDK (комплект для разработки Java: комплект для разработки Java), более высокой, чем JVM. (например, попытка выполнить с помощью JVM 1.4 класс, скомпилированный в JDK 1.6).
Если вы хотите проверить версию конфликтующего класса, запустите команду javap, которая является декомпилятором, поставляемым с JDK, запустив его из %JAVA_HOME%\bin(рекомендуется делать это из самой последней версии JDK).
Например, если вы хотите узнать, в какой версии Java скомпилирован класс MiClase.class, выполните следующие команды:
javap -verbose MiClase.class | findstr "major"который вернет что-то вроде:
основная версия: 50
javap -verbose MiClase.class | findstr "minor"который вернет что-то вроде:
минорная версия: 0
Таким образом, на сегодняшний день эквивалентности между версиями Java и их «основной версией» следующие:
Это простой способ сделать эту проверку с помощью команды javap, хотя есть и другие. Если вы их знаете, вы можете внести свой вклад в качестве комментария к этому ответу.
Эта ошибка возникает из-за того, что JVM по умолчанию (виртуальная машина Java: виртуальная машина Java) на вашем компьютере пытается выполнить класс, который был скомпилирован в версии JDK (комплект для разработки Java: комплект для разработки Java), более высокой, чем JVM. (например, попытка выполнить с помощью JVM 1.4 класс, скомпилированный в JDK 1.6).
Если вы хотите проверить версию конфликтующего класса, запустите команду
javap
, которая является декомпилятором, поставляемым с JDK, запустив его из%JAVA_HOME%\bin
(рекомендуется делать это из самой последней версии JDK).Например, если вы хотите узнать, в какой версии Java скомпилирован класс
MiClase.class
, выполните следующие команды:javap -verbose MiClase.class | findstr "major"
который вернет что-то вроде:javap -verbose MiClase.class | findstr "minor"
который вернет что-то вроде:Таким образом, на сегодняшний день эквивалентности между версиями Java и их «основной версией» следующие:
( Источник листинга )
Это простой способ сделать эту проверку с помощью команды
javap
, хотя есть и другие. Если вы их знаете, вы можете внести свой вклад в качестве комментария к этому ответу.Вы запускаете свою программу с более ранней версией, чем она была скомпилирована.
Пример, вы скомпилировали с 1.8 и пытаетесь запустить на версии 1.7