java – Spring Boot Hikari找不到DriverClassName

我有一个spring boot项目,当我通过eclipse Project>执行时它运行得很好.以>运行春季启动应用

但是当我构建项目并使用java -jar myproject.jar执行它或使用mvn spring-boot运行它时:运行它会抛出此错误

Failed to bind properties under '' to com.zaxxer.hikari.HikariDataSource:

Property: driverclassname
Value: com.microsoft.sqlserver.jdbc.SQLServerDriver
Origin: "driverClassName" from property source "source"
Reason: Failed to load driver class com.microsoft.sqlserver.jdbc
.SQLServerDriver in either of HikariConfig class loader or Thread context classloader

Action:

Update your application's configuration

我的sql server连接器依赖

<dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>mssql-jdbc</artifactId>
        <version>6.4.0.jre8</version>
        <scope>test</scope>
</dependency>

在这里我的application.properties

spring.datasource.url=jdbc:sqlserver://mydb;databaseName=HTSdb
spring.datasource.username=xxx
spring.datasource.password=xxx
spring.jpa.show-sql=true
spring.jpa.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect

它看起来我的应用程序找不到sqlserver驱动程序,但它已经在项目类路径,任何建议?提前致谢

最佳答案
我认为问题在于依赖范围被设置为测试.

范围测试表明在应用程序的标准运行时不需要依赖性,并且仅应用于测试运行的目的!

通常,数据库连接器依赖项是使用运行时范

 <dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>6.4.0.jre8</version>
    <scope>runtime</scope>
 </dependency>

转载注明原文:java – Spring Boot Hikari找不到DriverClassName - 代码日志