java.lang.UnsupportedClassVersionError: yy/ii: неподдерживаемая версия major.minor 51.0

Вот как произошла ошибка. Теперь я использую Eclipse Indigo, интегрированную с apache tomcat 6.0, а также изменил порт по умолчанию на 9090.

Caused by: java.lang.UnsupportedClassVersionError: yy/ii : Unsupported major.minor version 51.0 (unable to load class yy.ii)
    at     org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1851)                                                                                             at     org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:890)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1354)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:108)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:58)
    at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:297)
    at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1068)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4252)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    ... 6 more

2 ответа

Решение

Похоже, вы компилируете с JDK7, но запускаете Tomcat с JDK6. Так или иначе, вы пытаетесь запустить файлы классов в JVM, которая старше, чем компилятор, который их скомпилировал. Убедитесь, что Tomcat запущен с той же JVM, что и Eclipse.

Ошибка из-за UnsupportedClassVersionError

в org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) Причина: java.lang.UnsupportedClassVersionError: yy/ii: неподдерживаемая версия major.minor 51.0 (невозможно загрузить класс yy.ii)

JVM может запускать только файл класса, скомпилированный с использованием той же или более ранней версии Java Compiler . UnsupportedClassVersionError произойдет, если вы используете более низкую версию JVM для запуска файла класса, скомпилированного с использованием более высокой версии Java Compiler .

Настройте версию компилятора Java (настройка 1)

Версия компилятора Java настраивается в Project Properties ->Java Build Path-->Libraries Tab---> Select "JRE System Library" -->Edit

Все исходники в вашем проекте будут скомпилированы с использованием этой версии компилятора Java.

Настройте версию компилятора Java

Настройка версии JVM WTP tomcat runtime s (настройка 2)

Так как вы используете WTP tomcat для запуска проекта, JVM, который используется WTP tomcat, будет запускать скомпилированный класс вашего проекта. Его версия настроена в Servers View --> double click your tomcat server --> Runtime Environment

Настроить версию JVM WTP tomcat для среды выполнения

Убедитесь, что версия JVM времени выполнения (настройка 2) не ниже версии JVM, которая используется для компиляции ваших источников (настройка 1)

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