`

版本问题导致的坑--java.sql.SQLException: com.mysql.jdbc.Driver

阅读更多

直入主題,如下错误信息

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in URL [file:/Users/shuang/git/excel-file-import/excel-file-import/target/classes/spring-ds.xml]: Invocation of init method failed; nested exception is java.sql.SQLException: com.mysql.jdbc.Driver
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1553)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:700)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
	at com.autumn.efi.TestProject.main(TestProject.java:17)
Caused by: java.sql.SQLException: com.mysql.jdbc.Driver
	at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:527)
	at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:597)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1681)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1620)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1549)
	... 12 more
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
	at java.net.URLClassLoader$1.run(URLClassLoader.java:370)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:525)
	... 20 more
Caused by: java.util.zip.ZipException: invalid LOC header (bad signature)
	at java.util.zip.ZipFile.read(Native Method)
	at java.util.zip.ZipFile.access$1400(ZipFile.java:60)
	at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:717)
	at java.util.zip.ZipFile$ZipFileInflaterInputStream.fill(ZipFile.java:419)
	at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
	at java.util.jar.Manifest$FastInputStream.fill(Manifest.java:441)
	at java.util.jar.Manifest$FastInputStream.readLine(Manifest.java:375)
	at java.util.jar.Manifest$FastInputStream.readLine(Manifest.java:409)
	at java.util.jar.Attributes.read(Attributes.java:376)
	at java.util.jar.Manifest.read(Manifest.java:199)
	at java.util.jar.Manifest.<init>(Manifest.java:69)
	at java.util.jar.JarFile.getManifestFromReference(JarFile.java:199)
	at java.util.jar.JarFile.getManifest(JarFile.java:180)
	at sun.misc.URLClassPath$JarLoader$2.getManifest(URLClassPath.java:944)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:450)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
	... 29 more

 使用 maven 玩个小项目,有spring-ds.xml 配置文件内容如下

 问题原因:

mysql-connector-java 的版本过高

<dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
       <version>5.1.30</version>
</dependency>

 修改后

<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
        <version>5.1.25</version>
</dependency>

//jdk
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

 

  • 大小: 578.3 KB
分享到:
评论

相关推荐

    mysql-connector-java-8.0.11.jar

    java.sql.SQLException: The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone...

    mysql-connector-java-5.1.32.zip

    Class.forName("com.mysql.jdbc.Driver") ; /** * 解释: * ------- * jdbc:jdbc服务 * mysql:使用mysql的jdbc服务 * localhost:使用本地的mysql的jdbc服务 * 3306:使用本地的...

    mysql-connector-java-5.1.48.zip

    Class.forName("com.mysql.jdbc.Driver"); //获取数据库连接对象url=jdbc:mysql://IPAddress:3306/DatabaseName connection= DriverManager.getConnection("jdbc:mysql://192.168.1.99:3306/root","root","root...

    项目源码-java开发计划管理系统

    import java.sql.SQLException; import java.sql.Statement; public abstract class BaseDao implements Remote { // 数据库驱动名称 private static String driver = "com.mysql.jdbc.Driver"; // 数据库访问...

    myeclipse连接mysql驱动程序和包

    java连接mysql代码 和驱动包 package com.wen.Money; import java.sql.DriverManager; import java.sql.SQLException;... Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection conn=null;

    mysql-driver 5.1.45.zip

    新版的mysqljdbc驱动jar包的配置与之前发生了改变,今天在配置mybatis中mysql驱动的时候一直报错: org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.sql....

    JDBC访问数据库的步骤

    2. JDBC用到的类库基本都位于java.sql.*包中,程序中引入该包: Import java.sql.*; 3. 添加要用的数据库中的包,找到数据库中的Driver.class文件: 项目名上点右键,Build Path—Add External Archives… 构建路径...

    数据库增删改查的源代码

    Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost/bbs2009", "root", "root"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch...

    java连接mysql的驱动包(包含源码文档等,亲测可用)

    java连接mysql的驱动包(包含源码文档等,亲测可用)

    java连接数据库工具类--DBConnection(java源码)

    import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import ...

    JAVA链接数据库代码和操作

    import java.sql.SQLException ; public class ConnectionDemo{ // 定义MySQL的数据库驱动程序 public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ; // 定义MySQL数据库的连接地址 public ...

    java连接Mysql

    使用java连接mysql数据库代码 package com.tsinghua; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; ...

    JDBC.txt是链接mysql数据库的源码,复制粘贴即可,需要mysql.jar包

    Class.forName("com.mysql.cj.jdbc.Driver"); //建立连接 String url="jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&serverTimezone=UTC"; Connection conn= DriverManager.getConnection(url,...

    jdbc连接数据库getConnection 增、删、改、查

    import java.sql.SQLException; import java.sql.Statement; public class SqlHelper { /** * 设置单例 */ public static SqlHelper instance = new SqlHelper(); /** * 设置单例的一个实例方法 * * @...

    java实验报告:实验六.doc

    public class jdbc { String drivename="com.mysql.jdbc.Driver"; String url="jdbc:mysql://10.1.26.224:3306/test"; String user="root"; String phonenumber="123456"; String insql; String upsql; String ...

    C3P0连接池

    /*cpds.setDriverClass("com.mysql.jdbc.Driver"); cpds.setJdbcUrl("jdbc:mysql:///mydb1"); cpds.setUser("root"); cpds.setPassword("");*/ conn=cpds.getConnection(); stat=conn.createStatement(); ...

    学生选课系统(连接Mysql数据库).docx

    static { try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(URL, USER, PASSWORD); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e....

    java的密码确定

    Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/grade?user=root&"+"password=ghp"; connection = DriverManager.getConnection(url); if(connection != null){ System....

    学生成绩管理系统

    String jdbcDriver = "com.mysql.jdbc.Driver"; String jdbcURL = "jdbc:mysql://127.0.0.1:3306/studentScore"; String jdbcUser = "root"; String jdbcPassword = "sa"; String sql = ""; Connection...

    浅析使用JDBC操作MySQL需要添加Class.forName(“com.mysql.jdbc.Driver”)

    (com.mysql.jdbc.Driver); public static Connection getConnection() throws ClassNotFoundException, SQLException { if(connection == null){ Class.forName(com.mysql.jdbc.Driver); connection = ...

Global site tag (gtag.js) - Google Analytics