Tomcat6 和 JRE7 兼容性问题。不支持的 major.minor 版本 51.0

Posted

技术标签:

【中文标题】Tomcat6 和 JRE7 兼容性问题。不支持的 major.minor 版本 51.0【英文标题】:Tomcat6 and JRE7 compatibility issue. Unsupported major.minor version 51.0 【发布时间】:2013-07-02 22:04:42 【问题描述】:

我有一个用 JRE7 编译的 Web 应用程序,现在我想在 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 编译的代码?有解决方法吗?任何信息都将是有价值的。

【问题讨论】:

可能重复***.com/questions/9592791/tomcat6-and-java-7 @SotiriosDelimanolis 你忘了投票结束 与Tomcat6无关。这是您尝试使用 Java 6 JVM 运行 Java 7 字节码。 ***.com/questions/10382929/… 【参考方案1】:

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

【讨论】:

你完全正确,我在 JAVA_HOME 中的 catalina.sh 文件引用了 1.6 JDK。感谢您的帮助!【参考方案2】:

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

running-tomcat-url/manager/status

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

【讨论】:

以上是关于Tomcat6 和 JRE7 兼容性问题。不支持的 major.minor 版本 51.0的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu 11.10 安装apache2 tomcat6

tomcat6-maven-plugin和tomcat有啥区别

为 Java 8 重建 JRE7 jdbc-odbc 桥

ubuntu 11.10 安装apache2 tomcat6

1013.Web安全攻防靶场之wavsep

1013.Web安全攻防靶场之wavsep