0 概述
由于最近在看SPI相关东西,就看了下com.mysql.jdbc.Driver,当用编译器点开代码时候发现了编译器提示报错了,当时就觉的很奇怪,百思不得其解,于是就提了个问题了,希望有相关大牛指点下迷津。有了一些热心人给予了回答,但是好像没有是我想要的,但是他们也给我一些启发,在此也表示感谢。问题链接见:com.mysql.jdbc.Driver 问题。
1.问题解决
猜想可能版本问题,于是我就去看了下,JDK1.6源码java.sql.Driver。发现JDK1.6 java.sql.Driver 接口中没有getParentLogger(),JDK1.7中才出现的这个方法源码链接,然后我又看了下使用的mysql jar 包版本:5.1.40(比较老了,应该是依赖JDK1.6版本开发的)。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
我升级jar包后 com.mysql.jdbc.Driver 中其继承的NonRegisteringDriver类已经实现该接口。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.2</version>
</dependency>