source

SpringBoot 오류: 드라이버 ClassName=driver.jdbc.driver에 등록된 드라이버입니다.OracleDriver를 찾을 수 없습니다. 직접 인스턴스화를 시도합니다.

manysource 2023. 3. 11. 09:14

SpringBoot 오류: 드라이버 ClassName=driver.jdbc.driver에 등록된 드라이버입니다.OracleDriver를 찾을 수 없습니다. 직접 인스턴스화를 시도합니다.

Spring Boot을 배우고 있으며, 이전에 정상적으로 실행되었던 프로젝트를 실행하려고 했는데, 이제 이 오류가 나타납니다.

 enter cod2018-08-25 11:30:21 WARN  c.z.hikari.util.DriverDataSource - Registered driver with driverClassName=oracle.jdbc.driver.OracleDriver was not found, trying direct instantiation.
2018-08-25 11:30:24 ERROR com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Exception during pool initialization.
java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connectione here

몇 가지 예외가 생긴 후에..

    Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_144]

Caused by: java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:673) ~[ojdbc7-12.1.0.2.jar:12.1.0.1.0]

application.properties:

   #server
server.port=7003

#database
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:Xe
spring.datasource.username=XXXXXX
spring.datasource.password=XXXXXX
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false

#logging
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n
logging.level.org.hibernate.SQL=INFO
logging.level.org.hibernate.type.descriptor.sql=trace
logging.level.=INFO

#eureka-guidelines
eureka.client.register-with-eureka=true
eureka.client.serviceUrl.defaultZone=http://localhost:7005/eureka
spring.application.name=SupplyManagement_14_SpringBoot

Pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.myapp.supplyManagement</groupId>
    <artifactId>SupplyManagement_14_SpringBoot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>SupplyManagement_14_SpringBoot</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Finchley.SR1</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc7</artifactId>
            <version>12.1.0.2</version>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

1. oracle.jdbc.driver를 수동으로 체크하는 등의 디버깅을 시도했습니다.Oracle Driver가 있는지 없는지 2. 다른 ojdbc를 사용하는 6. 3. maven 업데이트.

하지만 아무것도 효과가 없는 것 같아요.어떤 도움이라도 감사합니다.

갱신하다

이유를 알 수 없지만 시스템을 재부팅했더니 정상적으로 작동합니다.

질문 제목 경고 메시지에 대해:

driverClassName=driver.jdbc.driver에 드라이버를 등록.OracleDriver를 찾을 수 없습니다. 직접 인스턴스화를 시도합니다.

그것은 당신이 잘못된 을 사용했기 때문입니다.spring.datasource.driver-class-name.

사용하다oracle.jdbc.OracleDriver대신oracle.jdbc.driver.OracleDriver.

자세한 답변은 여기를 참조하십시오.Oracle jdbc 드라이버 클래스의 차이점

POM 파일 대신 을 사용해야 합니다.

드라이버가 없는 것을 분명히 나타내고 있습니다.로컬 저장소의 maven을 확인하고 XX:\user\XXX\m2\XX에서 jdbc 드라이버 jar 파일을 찾아주세요.

Oracle 웹 사이트에서 JDK 8을 사용하여 Oracle 12에 연결할 수 있습니다.

<groupid>com.oracle.jdbc</groupid>
<artifactid>ojdbc8</artifactid>
<version>12.2.0.1</version>

Oracle JDBC 드라이버를 얻기 위한 이러한 의존성은 Maven 저장소에서 찾을 수 없었던 것 같습니다.

따라서 이 의존성에 대해 POM을 검토하는 것이 좋습니다.참고로 오라클은 Maven 저장소에 최신 JDBC 드라이버를 게시하지 않습니다.Oracle 데이터베이스 설치 폴더(${ORACLE_INSTALLATION}/jdbc)에서 최신 JDBC 드라이버를 가져오거나 Oracle Technology Network 웹 사이트에서 다운로드하는 경우.12c 버전을 사용하고 있는 경우는, 다음의 링크를 참조할 수 있습니다.

https://www.oracle.com/technetwork/database/features/jdbc/jdbc-ucp-122-3110062.html

그런 다음 새 폴더를 생성하여 프로젝트 내에서 오라클 JDBC 드라이버를 찾은 후 방금 생성한 폴더를 가리켜 오라클 JDBC에 대한 종속성을 변경해야 합니다.

먼저 DB가 가동되고 있는지 확인하고 데이터베이스에 ping을 수행하여 포트가 가동 중인지 확인합니다.이것이 정상이라면 스프링프로젝트의 POM과 application.properties를 체크하고 최종적으로 에러를 처리하여 문제의 코드경보를 실시합니다.

이 질문에 대한 답변은 소식통으로부터 직접 전달된다.

Oracle 문서

"코드는 이전 버전의 Oracle에서 사용되던 oracle.jdbc.driver 패키지가 아닌 oracle.jdbc 패키지를 사용해야 합니다. oracle.jdbc.driver 패키지의 사용은 현재 권장되지 않지만 이전 버전과의 호환성을 위해 계속 지원됩니다."

언급URL : https://stackoverflow.com/questions/52014595/springboot-error-registered-driver-with-driverclassname-oracle-jdbc-driver-orac