3

这就是错误发生的原因。现在我正在使用与 apache tomcat 6.0 集成的 Eclipse Indigo,并将默认端口更改为 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
4

2 回答 2

5

错误是因为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编译器版本

配置 WTP tomcat runtime 的 JVM 版本(设置二)

由于您使用 WTP tomcat 运行项目,因此 WTP tomcat 使用的 JVM 将运行您的项目的编译类。它的版本配置在Servers View --> double click your tomcat server --> Runtime Environment

配置 WTP tomcat runtime 的 JVM 版本

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

于 2011-07-16T07:16:10.297 回答
3

听起来您正在使用 JDK7 进行编译,但使用 JDK6 运行 Tomcat。一种或另一种方式,您试图在比编译它们的编译器更旧的 JVM 中运行类文件。确保使用与运行 Eclipse 相同的 JVM 运行 Tomcat。

于 2011-07-16T06:12:24.457 回答