Springboot启动失败:Failed to instantiate [javax.sql.DataSource]。
最开始以为是DB版本后,需要升级驱动版本,但更新驱动版本还是不行,而且另外一个项目同样驱动同样配置可以启动。
后面发现代码读取不到yml文件中的配置信息。
最后通过回退代码最终找到有问题的配置,竟然是pom文件中maven-compiler-plugin配置被误删了。
这个配置主要用来根据指定的jdk版本去编译源码生成class文件:
maven-compiler-plugin指定的默认jdk版本:
参考:https://www.cnblogs.com/east7/p/13363069.html
顺便提下,我把target清掉后,再启动项目,发现是其他启动报错。
据此可以猜测,当没清或清掉原来的target时,这个时候把maven-compiler-plugin插件拿掉,再生成的target是不同的,springboot启动时恰好读取到了不同的有问题代码,引起了不同的报错。
其实我应该想到项目启动失败,不仅和DB配置有关,而且和pom配置也有关呀。
官网官网每个版本文档中有写springboot版本对应的jdk要求(以下链接改个版本可查):Spring Boot Reference Documentation
类似博客:
如何查看SpringBoot和JDK版本的对应关系_wx643fa5533cba9的技术博客_51CTO博客
Springboot end of support date:
Spring Boot