我正在尝试在服务器上部署我的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)
有人可以帮我解决这个问题吗?
谢谢
答案 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)
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”)以检查服务器实际使用的版本。