UnsupportedClassVersionError不支持major.minor版本51.0无法加载类

Nis*_*ain 32 java tomcat war

可能重复:
线程"main"中的异常java.lang.UnsupportedClassVersionError:a(Unsupporte d major.minor版本51.0)

我使用jdk 1.7.0,Eclipse IDE(Indigo)在java中开发了一个Web应用程序,并在eclipse ide中配置的tomcat(apache-tomcat-7.0.23)上运行该应用程序.

当我试图通过IDE运行我的应用程序时它运行正常,但是当我创建它的战争并将其放在apache部署文件夹(webapps)并从IDE外部运行它时,启动页面成功加载但当我尝试执行任何操作时它给了我一个错误

UnsupportedClassVersionError unsupported major.minor version 51.0 unable to load class bean.myclassname
Run Code Online (Sandbox Code Playgroud)

我已经检查了它的jdk 1.7.0以外的java版本,并且JAVA_HOME环境变量也设置为C:\ Program Files\Java\jdk1.7.0_01.

Jon*_*eet 34

据推测,在外部运行Java时,它不会使用相同版本的Java.仔细查看启动脚本,找到它运行的Java版本.您还应该检查启动日志以查看它们是否指示正在运行的版本.

或者,除非您需要 Java 7功能,否则您可以始终将Eclipse中的编译器首选项更改为目标1.6.


kos*_*osa 16

即使你的Eclipse中的JDK是1.7,你也需要确保eclipse编译级别也设置为1.7.您可以检查编译级别 - >窗口 - >首选项 - > Java - 编译器 - 编译级别.

在编译级别与运行时不匹配的情况下,会发生不受支持的主要次要错误.