无法加载类com.microsoft.sqlserver.jdbc.SQLServerDriver?

时间:2014-01-06 15:37:36

标签: java sql-server-2008 jdbc

我在尝试连接到SQL Server 2008数据库时遇到问题,这是一个完整的例外:

java.lang.UnsupportedClassVersionError: Bad version number in .class file (unable to load class com.microsoft.sqlserver.jdbc.SQLServerDriver)
    org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2531)
    org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1010)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1483)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
    java.lang.ClassLoader.loadClassInternal(Unknown Source)
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Unknown Source)
    ma.ancfcc.dao.ConnexionSigest.getConnection(ConnexionSigest.java:120)
    ma.ancfcc.action.VerifyLoginAction.execute(VerifyLoginAction.java:70)
    org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
    org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
    org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
    org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
    org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
    org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

异常指向这行代码:

private static String DRIVER_SQLSERVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

当您尝试加载使用比运行应用程序的Java版本更高版本的Java编译的类时,抛出此异常。

请参阅UnsupportedClassVersionError

  1. 使用java -version
  2. 检查您运行应用的JVM版本
  3. 使用javap -verbose com.microsoft.sqlserver.jdbc.SQLServerDriver
  4. 检查how to check the jdk version used to compile a .class file中建议的类文件版本
  5. 如果jar旨在与更高版本的Java一起使用,您可以:
    • 使用更高版本的JVM来运行应用程序
    • 下载旧版本的驱动程序