簡體   English   中英

Spring Boot Hikari 找不到 DriverClassName

[英]Spring Boot Hikari can't find DriverClassName

我有一個 spring boot 項目,當我通過 eclipse Project > Run as > spring boot app執行時它運行得很好

但是當我構建項目並使用java -jar myproject.jar執行它或使用mvn spring-boot:run它時會拋出此錯誤

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 驅動程序,但它已經在項目類路徑中,有什么建議嗎? 提前致謝

我認為問題在於設置為test 的依賴范圍。

范圍測試表明在應用程序的標准運行時不需要依賴項,只能用於測試運行的目的!

通常數據庫連接器依賴是用運行時范圍設置的。

 <dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>6.4.0.jre8</version>
    <scope>runtime</scope>
 </dependency>
Failed to bind properties under '' to com.zaxxer.hikari.HikariDataSource:

Property: driver-class-name
Value: org.postgresql.Driver 
Origin: "driverClassName" from property source "source"
Reason: Failed to load driver class org.postgresql.Driver  in either of HikariConfig 
class loader or Thread context classloader

Action:

Update your application's configuration

只是有同樣的錯誤,在我的例子中是“org.postgresql.Driver”。 猜猜是什么問題? 錯誤地在“org.postgresql.Driver”之后出現了一個空格。

因此,請注意“ ” 不可見的空白空間:)。

添加依賴

  <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
        </dependency>

檢查 Jar 是否在 lib 中加載,如果沒有,則需要添加版本 8.2.1.jre8 並重建項目。 您可以通過檢查項目中是否加載了 mssql-jdbc-8.2.1.jre8 jar 並且其中包含 SQLServerDriver.class 文件來進行驗證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM