【发布时间】:2018-01-31 08:22:18
【问题描述】:
我有一个简单的 Spring Boot 应用程序(通过 Spring Roo 生成)。
数据库配置如下:
spring.datasource.driver-class-name=org.hsqldb.jdbcDriver
spring.datasource.url=jdbc\:hsqldb\:mem\:PetClinic
spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.ImprovedNamingStrategy
spring.messages.encoding=ISO-8859-1
spring.messages.fallback-to-system-locale=false
spring.thymeleaf.mode=html
这是我声明 HSQLDB 依赖项的方式:
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<scope>provided</scope>
</dependency>
当我启动应用程序时,我得到了错误:
Caused by: java.lang.IllegalStateException: Cannot load driver class: org.hsqldb.jdbcDriver
at org.springframework.util.Assert.state(Assert.java:392) ~[spring-core-4.3.3.RELEASE.jar:4.3.3.RELEASE]
at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:214) ~[spring-boot-autoconfigure-1.4.1.RELEASE.jar:1.4.1.RELEASE]
Spring-boot-autoconfigure 模块尝试使用加载当前上下文类的ClassUtils 实用程序类加载类。
我想知道这种方法是否可以正常工作,因为我使用的是负责加载 Maven 依赖项的 Tomcat 容器? 为什么即使使用 libs 目录中的 JAR,Spring 也找不到它?
【问题讨论】:
标签: spring spring-boot