最近我在Linux Centos上遇到了Apache Tomcat 6.0.35的问题.我收到错误 -
java.lang.UnsupportedClassVersionError: myApp : Unsupported major.minor version 51.0 (unable to load class myApp)
Run Code Online (Sandbox Code Playgroud)
当我发出命令时 -
java -version
Run Code Online (Sandbox Code Playgroud)
表明
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)
Run Code Online (Sandbox Code Playgroud)
同样当我发出命令时 -
javac -version
Run Code Online (Sandbox Code Playgroud)
表明 -
javac 1.6.0_22
Run Code Online (Sandbox Code Playgroud)
要找到Java我给出命令 -
whereis java
Run Code Online (Sandbox Code Playgroud)
输出是 -
java: /usr/bin/java /etc/java /usr/lib/java /usr/share/java /usr/share/man/man1/java.1.gz
Run Code Online (Sandbox Code Playgroud)
并为
which java
Run Code Online (Sandbox Code Playgroud)
它显示 -
/usr/bin/java
Run Code Online (Sandbox Code Playgroud)
也是为了
which javac
Run Code Online (Sandbox Code Playgroud)
输出是
/usr/bin/javac
Run Code Online (Sandbox Code Playgroud)
其中myApp是在Windows中开发的java项目,并在Linux上的Tomcats的webapp目录中上载了WAR文件.
我没有得到正在发生的事情?请有人可以帮我解决问题吗?
提前致谢.
您需要Java 7运行时,而不是Java 6. 有关此内容的详细信息,请参阅http://en.wikipedia.org/wiki/Java_class_file#General_layout.
或者,您需要查找和/或重新编译代码以与Java 6兼容.