Я получаю следующую ошибку, когда пытаюсь запустить приложение весенней загрузки.
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= ******
обновил свой вопрос.
Драйвер отсутствует в вашем пути к классам, это интересная проблема, и я думаю, что анализатор отказов можно улучшить, чтобы избежать этого вводящего в заблуждение сообщения. Если это ваша проблема, подтвердите и откройте проблему, чтобы мы попытались ее исправить.
Как сказал Стефан Николл, у вас нет драйвера в вашем пути к классам. Вам необходимо включить драйвер 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')
}
Поскольку вы подтвердили этот вопрос, я могу только предположить, что это была ваша проблема. Поскольку вы не создали проблему, как я задал в своем ответе, у меня создал один сам
Большое спасибо за указание на это. Была та же проблема с maven - одиночные тесты JUnit не запускались, но сборка maven выполнялась. Решением было добавить область компиляции к коннектору базы данных (в моем случае в db памяти).
Я добавил ниже в файл свойств
spring.datasource.driverclassname = com.mysql.jdbc.Driver hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
и добавил ниже в файл POM
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
Теперь он работает нормально.
Я использую Oracle и Gradle. Так что это неверный ответ.
@Bibin работал у меня, когда я использовал mySQL, но теперь я получаю другое исключение: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: отказ канала связи Последний пакет, успешно отправленный на сервер, был 0 миллисекунд назад. Драйвер не получил пакетов от сервера.
Та же проблема со мной (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), это будет хорошим вариантом. Если нет, то это хорошее решение.
Если кто-то запускает intelliJ, эта ошибка не сразу становится понятной, она может быть вызвана отсутствующим профилем. Например. отсутствуют аргументы vm для -Dspring.profiles.active = local (или любое другое имя файла свойств)
Я все еще сталкиваюсь с этой проблемой, хотя при запуске моего приложения он будет использовать профиль по умолчанию. Так что это не имеет значения, правда? Однако, похоже, ни одно решение не работает.
Вы проверяли, какой профиль вы используете в конфигурациях запуска?
У меня нет профиля, поэтому, когда я приложение, оно скажет: профиль не найден, переключился на профиль по умолчанию. Профили - это то, что разработчик сделал правильно, поэтому мне было интересно, какое это имеет значение.
Мы должны добавить зависимость и удалить свойство "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 проблема была решена.
Application.properties
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
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
Вы должны описать свою конфигурацию, поскольку именно она вызывает сбой вашего приложения.