Я изучаю SpringBoot, и я просто попытался запустить свой проект, который раньше работал успешно, но теперь появляется эта ошибка
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.OracleDriver есть или нет. 2. используя другие ojdbc, например 6. 3. Обновления maven.
Но вроде ничего не работает. Любая помощь приветствуется.
ОБНОВИТЬ
Понятия не имею, почему, но я перезапустил свою систему, и теперь она работает нормально.




Это явно указывает на отсутствие драйвера, пожалуйста, проверьте локальный репозиторий maven, найдите jar-файл драйвера jdbc в XX: \ user \ XXX \ m2 \ XX
Из oracle web сайт для подключения к Oracle 12 с помощью JDK 8 вы можете следовать этому ..
<groupid>com.oracle.jdbc</groupid>
<artifactid>ojdbc8</artifactid>
<version>12.2.0.1</version>
Я думаю, что эта зависимость для получения драйвера Oracle JDBC не была найдена в репозитории Maven.
Итак, лучше просмотрите POM для этой зависимости. К вашему сведению, оракул не публикует последний драйвер JDBC в репозитории Maven. Если вы хотите получить последнюю версию драйвера JDBC из папки установки базы данных Oracle ($ {ORACLE_INSTALLATION} / jdbc) или загрузите ее с веб-сайта Oracle Technology Network. Вы можете обратиться к этой ссылке, если используете версию 12c:
https://www.oracle.com/technetwork/database/features/jdbc/jdbc-ucp-122-3110062.html
Затем вам нужно создать новую папку, чтобы найти драйвер Oracle JDBC внутри вашего проекта и изменить зависимость для Oracle JDBC, указав его в папке, которую вы только что создали.
Я знал, что maven не хранит для меня файл jar. Вот почему я сделал это вручную и поместил файл jar в локальный репозиторий maven, но на данный момент он не работает.
Попробуйте изменить его, перейдя по этой ссылке: roufid.com/3-ways-to-add-local-jar-to-maven-project
Gunardy Sutanto Я использовал первый метод, указанный в вашей ссылке. Я напрямую добавил его в папку ojdbc7, поэтому путь не нужен.
Относительно предупреждающего сообщения из заголовка вопроса:
Registered driver with driverClassName=oracle.jdbc.driver.OracleDriver was not found, trying direct instantiation
Это потому, что вы использовали Неверное значение для spring.datasource.driver-class-name.
Используйте oracle.jdbc.OracleDriver вместо oracle.jdbc.driver.OracleDriver.
См. Подробный ответ здесь: Разница между классами драйверов Oracle jdbc?.
Вы должны использовать oracle.jdbc.OracleDriver вместо oracle.jdbc.driver.OracleDriver в файле POM
Первое, что нужно сделать, это проверить, запущена ли и работает ли БД, попытаться выполнить команду ping для базы данных, проверить, работает ли порт. Если это нормально, проверьте POM и application.properties в весеннем проекте и, наконец, обработайте ошибку, чтобы код предупредил о проблеме.
Я проверил, есть ли там ojdbc jar. Также мой обычный материал jdbc работает с помощью этой банки.