`

版本问题导致的坑--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-5.1.40.tar.gz

    MySQL Connector/J是MySQL数据库与Java应用程序之间的桥梁,它是一个实现了JDBC(Java Database Connectivity)标准的MySQL驱动程序。"mysql-connector-java-5.1.40.tar.gz" 是这个驱动程序的一个特定版本,版本号为...

    mysql-connector-java-8.0.19.zip驱动下载window和liux

    MySQL是世界上最受欢迎的开源数据库系统之一,而MySQL Connector/J是MySQL官方提供的用于Java应用程序与MySQL数据库之间连接的驱动程序。本文将深入探讨MySQL Connector/J 8.0.19版本在Windows和Linux操作系统中的...

    mysql-connector-java-5.1.40.tar

    MySQL是世界上最受欢迎的开源数据库系统之一,而MySQL Connector/J则是MySQL官方提供的用于Java应用程序与MySQL数据库之间连接的Java Database Connectivity (JDBC) 驱动程序。`mysql-connector-java-5.1.40.tar` ...

    mysql-connector-java-5.1.22.tar.gz

    MySQL Connector/J是MySQL数据库连接Java应用程序的标准方式,它允许Java程序通过JDBC接口与MySQL数据库进行通信。在本文中,我们将深入探讨如何在Linux环境下配置一个包含MySQL、Eclipse和JSP的开发环境,以及如何...

    mysql-connector-java-8.0.28.jar

    MySQL Connector/J 8.0.28 是MySQL数据库与Java应用程序之间的重要桥梁,它是一个用于连接Java应用程序到MySQL服务器的JDBC驱动程序。这个压缩包包含两个版本的jar文件:`mysql-connector-java-8.0.28 (1).jar` 和 `...

    mysql-connector-java-8.0.22.jar

    MySQL Connector/J 8.0.22 是MySQL数据库与Java应用程序之间进行通信的重要桥梁,它是一个实现了JDBC(Java Database Connectivity)规范的驱动程序。在Java应用中,我们需要这个驱动来连接并操作MySQL数据库。本篇...

    mysql-connector-java-8.0.26.tar.gz

    在Java中,连接MySQL数据库的关键组件就是`mysql-connector-java`,这是一个允许Java应用程序通过Java Database Connectivity (JDBC) API与MySQL通信的驱动程序。本文将深入探讨MySQL 8.0版本的Java连接器,以及如何...

    mysql-connector-java-8.0.19.zip

    MySQL Connector/J是MySQL数据库系统与Java应用程序之间的桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够方便地在MySQL数据库上执行SQL语句,进行数据的存取操作。...

    mysql-connector-java-8.0.27.jar

    MySQL Connector/J是MySQL数据库与Java应用程序之间的桥梁,它是一个实现了JDBC(Java Database Connectivity)标准的驱动程序,允许Java开发者在Java应用中访问和操作MySQL数据库。`mysql-connector-java-8.0.27....

    mysql-connector-java-5.1.26-bin.zip

    MySQL Connector/J是MySQL官方提供的用于Java的JDBC驱动程序,它实现了Java Database Connectivity (JDBC) API,使得Java程序可以透明地连接到MySQL数据库。这里的"5.1.26"表示驱动的版本号,每个版本可能会修复已知...

    mysql-connector-java-5.1.49.jar

    MySQL Connector/J 5.1.49 是MySQL数据库与Java应用程序之间的重要桥梁,它是一个实现了JDBC(Java Database Connectivity)接口的驱动程序,允许Java开发者在应用中无缝地连接到MySQL数据库进行数据操作。这个版本...

    mysql-connector-java-5.1.47.jar

    MySQL Connector/J 5.1.47 是一个用于Java应用程序的MySQL数据库驱动程序,它使得Java开发者能够在他们的应用中连接并操作MySQL数据库。这个jar文件是MySQL官方提供的,支持JDBC(Java Database Connectivity)标准...

    mysql-connector-java-5.1.22-bin.jar

    MySQL Connector/J是MySQL数据库与Java应用程序之间的重要桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够通过编写Java代码来访问和操作MySQL数据库。标题中的"mysql-...

    mysql-connector-java-5.1.20-bin.jar

    总结起来,`mysql-connector-java-5.1.20-bin.jar`是Java应用程序与MySQL数据库交互的核心组件,提供了JDBC接口来执行SQL命令和管理数据库连接。正确配置和使用这个驱动,开发者能够轻松地在Java应用中实现数据的...

    mysql-connector-java-5.1.41.zip

    MySQL Connector/J是MySQL官方提供的Java JDBC驱动,版本5.1.41是其中的一个稳定版本,它支持Java 6及更高版本,并且兼容MySQL 5.x系列的数据库服务器。 `mysql-connector-java-5.1.41.tar`是这个驱动的归档文件,...

    mysql-connector-java-5.1.10-bin.jar

    注意,对于较新的JDBC驱动(如8.0及更高版本),`com.mysql.jdbc.Driver`已经被`com.mysql.cj.jdbc.Driver`取代,因此在使用新版本驱动时需做相应调整。 `mysql-connector-java-5.1.10-bin.jar`还支持多种特性,...

    mysql-connector-java.zip

    MySQL Connector/J是MySQL数据库与Java应用程序之间通信的重要桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够方便地在Java应用中存取MySQL数据。"mysql-connector-java....

    mysql java最新驱动包 mysql-connector-java-8.0.16.rar

    在Java应用程序中连接MySQL数据库时,需要一个特定的驱动程序,这就是MySQL Connector/J,它是一个实现了Java Database Connectivity (JDBC) API的驱动,使得Java程序能够与MySQL数据库无缝通信。 "mysql-connector...

    mysql-connector-java-5.1.28.jar.zip

    MySQL Connector/J是MySQL数据库系统与Java应用程序之间的桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够轻松地在他们的应用中使用MySQL数据库。"mysql-connector-java-...

Global site tag (gtag.js) - Google Analytics