无法在HikariConfig类加载器或线程上下文中加载驱动程序类oracle.jdbc.OracleDriver

Pol*_*e29 8 oracle spring

我第一次使用Spring,并尝试进行设置,以便我的代码可以访问Oracle数据库。我的application.properties中具有以下配置:

spring.datasource.url=jdbc:oracle:thin:@140.192.30.237:1521:def
    spring.datasource.username=<username>
    spring.datasource.password=<password>
    spring.datasource.driver.class-name=oracle.jdbc.driver.OracleDriver
Run Code Online (Sandbox Code Playgroud)

我的pom.xml包含以下依赖项:

<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>com.oracle.jdbc</groupId>
        <artifactId>ojdbc8</artifactId>
        <version>12.2.0.1</version>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongo-java-driver</artifactId>
        <version>LATEST</version>
    </dependency>
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>LATEST</version>
    </dependency>
    <dependency>
        <groupId>javax.json</groupId>
        <artifactId>javax.json-api</artifactId>
        <version>1.0</version>
    </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误,并且不确定如何解决,我从搜索中发现了类似的错误,但没有一个解决了我的问题:

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

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

Action:

Update your application's configuration
Run Code Online (Sandbox Code Playgroud)

感谢您提供解决此问题的提示。

小智 7

正如您在错误中提到的那样,问题出在您的配置上。下一行

spring.datasource.driver.class-name=oracle.jdbc.driver.OracleDriver
Run Code Online (Sandbox Code Playgroud)

应该更改为

spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
Run Code Online (Sandbox Code Playgroud)

请注意,它不是driver.class-name,而是它的driver-class-name。

  • 嗯 这似乎可行,但现在通过抛出多个异常,我被告知“无法加载驱动程序类:oracle.jdbc.driver.OracleDriver”。任何的想法? (2认同)