Не удалось привязать свойства под '' к com.zaxxer.hikari.HikariDataSource Spring Boot

Я получаю следующую ошибку, когда пытаюсь запустить приложение весенней загрузки.

Description:

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

    Property: driverclassname
    Value: oracle.jdbc.OracleDriver
    Origin: "driverClassName" from property source "source"
    Reason: Unable to set value for property driver-class-name

Action:

Update your application's configuration

Это та же проблема у меня есть, но я не использую maven.

Я использую spring Boot 2.0.0 со следующими стартерами.

dependencies {
    compile "org.springframework.boot:spring-boot-starter-web"
    compile "org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.1"
    testCompile "org.springframework.boot:spring-boot-starter-test"
}

А это мой файл application.properties

spring.datasource.url= *****
spring.datasource.username= ******
spring.datasource.password= ******

Вы должны описать свою конфигурацию, поскольку именно она вызывает сбой вашего приложения.

Stephane Nicoll 07.05.2018 16:05

обновил свой вопрос.

user9735824 07.05.2018 16:14
45
2
98 318
13
Перейти к ответу Данный вопрос помечен как решенный

Ответы 13

Драйвер отсутствует в вашем пути к классам, это интересная проблема, и я думаю, что анализатор отказов можно улучшить, чтобы избежать этого вводящего в заблуждение сообщения. Если это ваша проблема, подтвердите и откройте проблему, чтобы мы попытались ее исправить.

Ответ принят как подходящий

Как сказал Стефан Николл, у вас нет драйвера в вашем пути к классам. Вам необходимо включить драйвер jdbc в вашу сборку Gradle, как показано ниже. Однако вам не обязательно придерживаться той версии драйвера, которую я включил.

dependencies {
    compile "org.springframework.boot:spring-boot-starter-web"
    compile "org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.1"
    testCompile "org.springframework.boot:spring-boot-starter-test"
    runtime('com.oracle:ojdbc7:12.1.0.2.0') 
}

Поскольку вы подтвердили этот вопрос, я могу только предположить, что это была ваша проблема. Поскольку вы не создали проблему, как я задал в своем ответе, у меня создал один сам

Stephane Nicoll 09.05.2018 17:13

Большое спасибо за указание на это. Была та же проблема с maven - одиночные тесты JUnit не запускались, но сборка maven выполнялась. Решением было добавить область компиляции к коннектору базы данных (в моем случае в db памяти).

CrimsonMike 28.10.2020 21:54

Я добавил ниже в файл свойств

spring.datasource.driverclassname = com.mysql.jdbc.Driver hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

и добавил ниже в файл POM

        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>

Теперь он работает нормально.

Я использую Oracle и Gradle. Так что это неверный ответ.

user9735824 16.08.2018 15:45

@Bibin работал у меня, когда я использовал mySQL, но теперь я получаю другое исключение: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: отказ канала связи Последний пакет, успешно отправленный на сервер, был 0 миллисекунд назад. Драйвер не получил пакетов от сервера.

Aakash Patel 31.01.2019 18:00

Та же проблема со мной (Spring boot 2),

Я исправил добавление класса драйвера.

Найдите файл application.properties.

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

Полный код.

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=upate
spring.datasource.url=jdbc:mysql://localhost:3306/database_name
spring.datasource.username=admin
spring.datasource.password=admin1234

Вы должны добавить

   <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency> 

зависимость в вашем файле pom.xml

У меня была такая же ошибка при обновлении с Spring Boot 2.0.6 до Spring Boot 2.1.6.

Явная установка имени класса драйвера spring.datasource.driver-class-name=com.mysql.jdbc.Driver в application.properties устранила проблему

Начиная с Spring Boot 2.1.0 имя драйвера по умолчанию для подключений mysql - com.mysql.cj.jdbc.Driver: github.com/spring-projects/spring-boot/issues/13688. совершить: 18904ec29138080dcfc707b6150dc0069b7a0ac4. Если возможно обновить соединитель mysql с помощью одного совместимого (driverName = com.mysql.cj.jdbc.Driver), это будет хорошим вариантом. Если нет, то это хорошее решение.

chindo 15.09.2020 17:21

Если кто-то запускает intelliJ, эта ошибка не сразу становится понятной, она может быть вызвана отсутствующим профилем. Например. отсутствуют аргументы vm для -Dspring.profiles.active = local (или любое другое имя файла свойств)

Я все еще сталкиваюсь с этой проблемой, хотя при запуске моего приложения он будет использовать профиль по умолчанию. Так что это не имеет значения, правда? Однако, похоже, ни одно решение не работает.

J-me 17.11.2019 20:40

Вы проверяли, какой профиль вы используете в конфигурациях запуска?

Rebecca Douglas 19.11.2019 16:10

У меня нет профиля, поэтому, когда я приложение, оно скажет: профиль не найден, переключился на профиль по умолчанию. Профили - это то, что разработчик сделал правильно, поэтому мне было интересно, какое это имеет значение.

J-me 20.11.2019 09:16

Мы должны добавить зависимость и удалить свойство "spring.datasource.driver-class-name"

 <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency> 

Вам просто нужно добавить ниже в pom.xml

     <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>

Проверьте свой pom.xml, если у вас нет зависимости mysql, можно добавить вот так

<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
</dependency>

Перед обновлением файла запустите maven

mvn clean install

чтобы обновить зависимости вашего maven

Если вы используете intelliJ и столкнулись с этой проблемой, просто добавьте эту зависимость в свой файл pom.xml:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

Это случилось и со мной. Но после добавления правильной версии MySQL в мой pom.xml и явного добавления сведений о драйвере в application.properties проблема была решена.

  1. Application.properties

    spring.datasource.driver-class-name = com.mysql.jdbc.Driver

  2. pom.xml

     <dependency>
         <groupId>mysql</groupId>
         <artifactId>mysql-connector-java</artifactId>
         <version>5.1.34</version>
     </dependency>
    

Добавьте версию MySQL в pom.xml в соответствии с установленной версией.

У меня была такая же ошибка, ошибка была в файле pom.xml. У меня была ошибка в зависимости от коннектора SQL. Если в вашем случае все в порядке, проверьте также файл application.properties, вы не можете включать драйвер

spring.datasource.url=jdbc:mysql://localhost:3307/test?useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.show-sql=true
spring.jpa.generate-ddl=false
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true

spring.mvc.view.prefix = /WEB-INF/jsp/
spring.mvc.view.suffix = .jsp

Другие вопросы по теме