Tomcat - java.lang.UnsupportedClassVersionError:Unsupported major.minor version 51.0 (unable to load class com.microsoft.sqlserver.jdbc.SQLS

今天使用Tomcat连接sql Server 2008 enterprise的时候,报错:

HTTP Status 500 - Servlet execution threw an exception



type Exception report



message Servlet execution threw an exception



description The server encountered an internal error that prevented it from fulfilling this request.



exception



javax.servlet.ServletException: Servlet execution threw an exception

	spt.servlet.filter.EncodingFilter.doFilter(EncodingFilter.java:24)



root cause



java.lang.UnsupportedClassVersionError: com/microsoft/sqlserver/jdbc/SQLServerDriver : Unsupported major.minor version 51.0 (unable to load class com.microsoft.sqlserver.jdbc.SQLServerDriver)

	org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2961)

	org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1210)

	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1690)

	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)

	java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

	java.lang.Class.forName0(Native Method)

	java.lang.Class.forName(Class.java:169)

	spt.server.jdbc.db.BasicDB.getConnection(BasicDB.java:260)

	spt.server.jdbc.db.BasicDB.getPreparedStatement(BasicDB.java:268)

	spt.server.jdbc.db.BasicDB.getAQIDayByCityCodeAndDate(BasicDB.java:136)

	spt.service.AQIDayService.getAQIDay(AQIDayService.java:33)

	spt.servlet.JsonServlet.doPost(JsonServlet.java:34)

	spt.servlet.JsonServlet.doGet(JsonServlet.java:53)

	javax.servlet.http.HttpServlet.service(HttpServlet.java:620)

	javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

	spt.servlet.filter.EncodingFilter.doFilter(EncodingFilter.java:24)



note The full stack trace of the root cause is available in the Apache Tomcat/7.0.57 logs.

Apache Tomcat/7.0.57

 JDK的版本号对应:

J2SE 7 = 51 (0x33 hex),

J2SE 6.0 = 50 (0x32 hex),

J2SE 5.0 = 49 (0x31 hex),

JDK 1.4 = 48 (0x30 hex),

JDK 1.3 = 47 (0x2F hex),

JDK 1.2 = 46 (0x2E hex),

JDK 1.1 = 45 (0x2D hex).

由此可知,上述错误是由于jTDS需要jdk7,而你使用的JDK版本不是jdk7。

ref: http://shalousoft.com/go_newsForum.action?op=d3a91dac-6b7c-11e3-8e31-5254001578d1

你可能感兴趣的:(Microsoft)