Spring Boot应用无法加载org.h2.Driver驱动的问题咨询
问题分析与解决:无法加载H2驱动类
嘿,我一眼就揪出你遇到这个错误的根源啦!
为什么会出现Cannot load driver class: org.h2.Driver?
核心问题出在你的pom.xml配置里——H2数据库的依赖被设置成了test作用域。
你看这段pom代码:
<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>test</scope> </dependency>
scope=test表示这个依赖只会在测试场景(比如跑JUnit测试用例)下被加载,而当你启动Spring Boot主应用的时候,JVM的类路径里根本找不到H2的驱动类,Spring Boot按照你的application.properties配置去加载org.h2.Driver的时候自然就失败了,也就抛出了你看到的那串嵌套异常。
顺带提一句,你的application.properties里已经正确配置了H2的连接参数,包括指定驱动类,这本身没问题,就是依赖的作用域拖了后腿。
快速解决办法
只需要修改pom.xml里的H2依赖,把<scope>test</scope>删掉,或者改成runtime作用域就行:
<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <!-- 移除test作用域,或者替换成<scope>runtime</scope> --> </dependency>
改完之后执行一下mvn clean install重新构建项目,再启动你的Spring Boot应用,应该就能正常连接H2数据库,也能顺利打开H2控制台啦!
内容的提问来源于stack exchange,提问作者sriramkailash
相关产品推荐
相关产品推荐

