Не удается загрузить класс драйвера: com.mysql.jdbc.Driver Spring

spring.freemarker.cache:false


spring.datasource.url=jdbc:mysql://localhost/mydb
spring.datasource.username=user
spring.datasource.password=pass
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

im, получая эту ошибку, даже с именем класса драйвера

java.lang.IllegalStateException: не удается загрузить класс драйвера: com.mysql.jdbc.Driver at org.springframework.util.Assert.state(Assert.java:392) ~ [spring-core-4.2.1.RELEASE.jar: 4.2.1.RELEASE] в org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.getDriverClassName(DataSourceProperties.java:153) ~ [spring-boot-autoconfigure-1.3.0.M5.jar: 1.3.0.M5] at org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration $ NonEmbeddedConfiguration.dataSource(DataSourceAutoConfiguration.java:119) ~ [spring-boot-autoconfigure-1.3.0.M5.jar: 1.3.0.M5] at sun.reflect.NativeMethodAccessorImpl. invoke0 (Native Method) ~ [na: 1.8.0_60] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~ [na: 1.8.0_60] at......

и он продолжается

Ответы

Ответ 1

Если вы используете maven, добавьте это в свой pom:

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

Ответ 2

Я расскажу о других причинах этой ошибки:

  • Я уже неоднократно видел эту ошибку с помощью Intellij IDEA и выполнял некоторый интеграционный тест. Caused by: java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver теста с сообщением: Caused by: java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver. После восстановления проекта (Build> Rebuild Project) ошибка исчезнет.
  • Другой причиной этой ошибки является поврежденный JAR. Колледж получал эту ошибку (также пытался выполнить интеграционные тесты), а после удаления некоторых связанных .m2 каталоге .m2 ошибка исчезла.

Ответ 3

Вероятно, кому-то еще нужен ответ (как и раньше), я решил его, добавив следующую зависимость

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

Ответ 4

Суть проблемы в том, что вам не хватает зависимости от драйвера MySQL.

Один из способов, о котором говорится в других ответах, заключается в том, чтобы указать его в настройке инструмента сборки. Однако, если вы не хотите это делать и используете IntelliJ IDEA (хотя я уверен, что Eclipse имеет нечто подобное), вы также можете добавить зависимость через него. шаги:

  1. Загрузите нужный банку из репозитория maven
  2. Откройте свой проект в Intellij IDEA
  3. Файл → Структура проекта → Библиотеки
  4. Нажмите "Новая библиотека проекта" (знак "зеленый плюс" слева) или нажмите клавиши "Alt + Insert"
  5. Выберите Java
  6. Выберите свою банку
  7. Нажмите ОК.

Должен выглядеть примерно так:

enter image description here

Теперь вы должны иметь возможность использовать только что добавленную зависимость.

Протестировано с IntelliJ IDEA 2017.3.4.

Ответ 5

Возможно, вы используете устаревшее имя класса драйвера. Я решил это, обновив свойство в файле application.properties.

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

Ответ 6

Я столкнулся с той же проблемой сейчас и решил ее после предоставления необходимой зависимости,

 <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.15</version>
    </dependency>