java.lang.UnsupportedClassVersionError: Неподдерживаемая версия major.minor 51.0 (невозможно загрузить класс frontend.listener.StartupListener)

Возможный дубликат:
неподдерживаемая основная версия.minor 51.0

У меня есть затмение Индиго и Кот 7.0.29. И до сих пор никакие Serlvets не могут быть загружены! У меня нет другого JDK или JRE, кроме 1.7!

  • Уровень соответствия 1.7
  • JAVA_HOME указывает на JDK 1,7
  • JAVA_JRE указывает на JRE 1,7
  • путь сборки содержит JDK 1.7
  • Java Facet 1.7

..но все еще не поддерживается Major .minor версии 51.0

1 ответ

Решение

Каков ваш вывод, когда вы делаете java -version? Это скажет вам, какая версия работает JVM.

Ошибка Unsupported major.minor версии 51.0 может означать:

  • На вашем сервере установлена ​​более низкая версия Java, чем та, которая использовалась для компиляции вашего сервлета и наоборот.

В любом случае, удалите все среды выполнения JVM, включая JDK, загрузите последнюю версию и переустановите. Это должно исправить любой Unsupported major.minor ошибка, поскольку у вас будут последние JRE и JDK (возможно, даже новее, чем тот, который использовался для компиляции сервлета)

См. http://www.java.com/en/download/manual.jsp (7, обновление 25).

и здесь: http://www.oracle.com/technetwork/java/javase/downloads/index.html (платформа Java (JDK) 7u25)

для последней версии JRE и JDK соответственно.

РЕДАКТИРОВАТЬ:

Скорее всего, ваш код был написан на Java7, однако, возможно, это было сделано с использованием Java7update4, а ваша система работает на Java7update3. Таким образом, они оба являются одной и той же основной версией, но младшие версии различаются Только младшая версия большего размера обратно совместима с младшей минорной версией.

Изменить 2: Если на вашем компьютере установлено более одного jdk. Вы должны убедиться, что Apache Tomcat использует тот же (jre), с которым вы компилируете свои программы. Если вы установили новый jdk после установки apache, он обычно не выберет новую версию.

Другие вопросы по тегам