java.lang.UnsupportedClassVersionError:yy / ii:不支持的major.minor版本51.0

时间:2011-07-16 05:48:41

标签: java eclipse tomcat classformaterror

这就是错误发生的原因。现在我使用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 个答案:

答案 0 :(得分:5)

错误是因为UnsupportedClassVersionError

  

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)   引起:java.lang.UnsupportedClassVersionError:yy / ii:不支持   major.minor版本51.0(无法加载类yy.ii)

JVM只能运行使用相同版本或早期版本的Java Compiler编译的类文件。如果使用较低版本的JVM来运行使用较高版本的Java Compiler编译的类文件,则会发生UnsupportedClassVersionError

配置java编译器版本(设置1)

Java编译器的版本在Project Properties ->Java Build Path-->Libraries Tab---> Select "JRE System Library" -->Edit

中配置

然后将使用此版本的Java编译器

编译项目中的所有源代码

Configure the java compiler version

配置WTP tomcat运行时s'JVM版本(设置2)

当您使用WTP tomcat运行项目时,WTP tomcat使用的JVM将运行项目的编译类。其版本在Servers View --> double click your tomcat server --> Runtime Environment

中配置

Configure WTP tomcat runtime s' JVM version

请确保运行时JVM版本(设置2)不低于用于编译源的JVM版本(设置1)

答案 1 :(得分:3)

听起来您正在使用JDK7进行编译,但使用JDK6运行Tomcat。无论如何,您尝试在比编译它们的编译器更旧的JVM中运行类文件。确保使用与运行Eclipse的JVM相同的JVM运行Tomcat。