1

我有一个用 JRE7 编译的网络应用程序,现在我想在 Tomcat6 上运行它。当我启动我的应用程序时,我在日志中看到异常:

Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 

此异常来自实现 ServletContextListener 的类。

这是否意味着我必须将 Tomcat7 用于使用 JRE7 编译的代码?有解决方法吗?任何信息都将是有价值的。

4

2 回答 2

5

您正在尝试使用 Java 6 运行 Java 7 字节码。您需要将其部署到 Tomcat 7 或使用 JDK 1.6 重新编译。检查您的 Tomcat 使用什么 JRE。我猜它是Java 6 JVM。

于 2013-07-04T22:00:56.187 回答
0

您可以通过其状态页面找到服务器信息:

{running-tomcat-url}/manager/status

在该页面上,您可以看到运行 Tomcat 的 Java 版本

于 2014-02-16T14:25:38.810 回答