1 异常说明
在SpringBoot maven工程中访问Oracle数据库,总是报错“ClassNotFoundException oracle.jdbc.OracleDriver”,具体的报错信息如下图所示:
2 异常分析
yml文件中Oracle数据源的连接配置如下:
# Oracle数据库配置
oracledatasource:
driver-class-name: oracle.jdbc.OracleDriver
url: jdbc:oracle:thin:@127.0.0.1:1521:orcl
username: TEST
password: TEST
initialSize: 5
maxActive: 50
maxIdle: 10
minIdle: 1
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: select 1 from dual
testWhileIdle: true
testOnBorrow: true
testOnReturn: false
poolPreparedStatements: true
maxOpenPreparedStatements: 50
刚开始以为是数据源的配置有问题,把driver-class-name改成了driverClassName也不行,后来想着可能是oracle的连接驱动包有问题,
于是去maven本地仓库中检查了一下oracle连接驱动包的情况,如图所示:
果然发现是缺少了oracle的jdbc驱动连接jar包,于是乎找了一个相应版本的oracle驱动包放到了maven仓库中后,对maven工程的jar包进行reimport以后就可以正常地访问Oracle数据库了。
一开始没有发现丢失了jar包是因为maven工程没有报错,误以为没有缺少jar包。