背景
公司在进行整体框架的升级改造,之前引用的durid版本为1.1.6,一直正常使用,在进行新框架的升级中,将durid-V1.1.6升级为durid-V1.1.22。
现象
在启动项目时,控制台报错了,报错信息如下:
Description:
Failed to bind properties under 'spring.datasource.type' to java.lang.Class<javax.sql.DataSource>:
Property: spring.datasource.type
Value: com.alibaba.druid.pool.DruidDataSource
Origin: class path resource [application.properties]:17:26
Reason: No converter found capable of converting from type [java.lang.String] to type [java.lang.Class<javax.sql.DataSource>]
Action:
Update your application's configuration
解决步骤
看到这给问题,第一反映是spring.datasource.type的语法错误或者是版本的不兼容导致的,网上查了好久,大部分都是说引入durid即可,但是网上的版本和我用的不是同一个版本,所以暂时被卡住了;
后来把spring.datasource.type的属性先注释掉,项目可以正常启动了,就更加确定是由于spring.datasource.type的语法导致的,网上也没有找到特殊的写法,于是找同事的电脑尝试;
神奇的现象发生了!!!!同事由于之前没有durid-V1.1.22版本的jar包,所以当场下载的,然后,启动,,竟然没有问题!!!!!
最后,自己将maven仓库里面的jar包删除重新下载,再启动项目,就ok了。。。。。
结束语
解决方案:
- 添加durid依赖;
- 删除maven仓库的包,重新下载包尝试;
这个问题困扰了我好久,感觉故意和我作对似的。。。。。