执行JSP时不支持major.minor版本51.0

时间:2013-08-10 08:00:24

标签: java jsp

我正在尝试在服务器上部署我的JSP和java文件。但是当我尝试访问jsp时,我得到错误消息

 javax.servlet.ServletException: java.lang.UnsupportedClassVersionError: com/usct/db/DBConnect : Unsupported major.minor version 51.0

我读了几篇文章,发现这是由于两个不同平台上的Java版本不同,但我在我的服务器和我的客户端上使用JAVA 1.7

java -version

在我的jdk / bin中它显示java版本是1.7.0_10和

Java SE Runtime Environment (build 1.7.0_10-b18)

有人可以帮我解决这个问题吗?

谢谢

4 个答案:

答案 0 :(得分:3)

  

...但我在我的服务器和客户端上使用JAVA 1.7 ...

最可能的解释是,您实际上使用的是Java 1.6或更早版本... 尽管您的想法。换句话说,当您从命令行运行java -version时,您将获得与用于运行Web容器的不同的 Java安装。

(如果您使用的是Linux系统,则应该能够通过运行ps -efl和greping "java"或类似内容来判断正在使用哪个JVM。或者,使用@dbf建议的方法。)

值得注意的是,客户端上的Java版本不相关。服务器端发生异常。

参考:How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version - 解释一般问题和解决方案。

答案 1 :(得分:1)

由于在编译期间JDK较高而在运行时期间JDK较低,因此发生

java.lang.UnsupportedClassVersionError错误。

Java Version     Major Version

 Java 4               48.0 
 Java 5               49.0 
 Java 6               50.0 
 Java 7               51.0
  

因此,如果使用JDK 1.7的javac编译Java源文件,它将会   创建具有主要版本51.0的类文件,如果您运行这些类   将抛出Java 1.6的文件   java.lang.unsupportedclassversionerror不支持major.minor版本   51.0错误

尝试使用较早的JDK进行编译或升级JRE

更多信息visit

答案 2 :(得分:0)

我相信com/usct/db/DBConnect不是Java提供的类。因此,您的错误原因不是编码和执行环境中jdk和jre的版本。您在客户端和环境中用于类DBConnect的jar似乎具有不同的Java版本。

答案 3 :(得分:0)

尝试从JSP打印System.getProperty(“java.version”)以检查服务器实际使用的版本。