简体   繁体   中英

unable to load class com.microsoft.sqlserver.jdbc.SQLServerDriver?

I'm having an issue while trying to connect to an SQL Server 2008 database, here is the complete exception :

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)

The exception is pointing to this line of code :

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

How can I solve this ?

This exception is thrown when you try to load a class that was compiled with higher version of Java than the one you are running your application with.

See UnsupportedClassVersionError

  1. check the version of JVM you run your app with using java -version
  2. check the version of class file as suggested in how to check the jdk version used to compile a .class file - using javap -verbose com.microsoft.sqlserver.jdbc.SQLServerDriver
  3. If jar is intended to use with higher version of Java, you can either:
    • use higher version of JVM to run the app
    • download older version of driver

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM