最近,我在Linux Centos上遇到了Apache Tomcat 6.0.35的问题。 我收到了错误 -
java.lang.UnsupportedClassVersionError: myApp : Unsupported major.minor version 51.0 (unable to load class myApp)
当我发出命令时 -
java -version
显示
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.9) (rhel-1.28.1.10.9.el5_8-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
同样当我发出命令时 -
javac -version
显示 -
javac 1.6.0_22
找到Java我给出命令 -
whereis java
输出是 -
java: /usr/bin/java /etc/java /usr/lib/java /usr/share/java /usr/share/man/man1/java.1.gz
而
which java
显示 -
/usr/bin/java
也适用于
which javac
输出
/usr/bin/javac
myApp 是在Windows中开发的java项目,并在 Linux 上的Tomcats的 webapp 目录中上载WAR文件。
我没有得到正在发生的事情?请有人帮我解决这个问题吗?
提前致谢。
答案 0 :(得分:6)
您需要Java 7运行时,而不是Java 6.有关此问题的详细信息,请参阅http://en.wikipedia.org/wiki/Java_class_file#General_layout。
或者,您需要查找和/或重新编译代码以与Java 6兼容。
答案 1 :(得分:3)
异常是因为yor代码的编译版本高于您尝试运行它的版本。在您的Windows机器中,您可能正在使用Windows 7来构建战争。检查Windows计算机中的javac -version
。
答案 2 :(得分:1)
看起来你的代码是用jdk7编译的?