Springboot + MySQL + класс драйвера не найден - PullRequest
0 голосов
/ 27 декабря 2018

Я делаю простой весенний загрузочный проект с пулом потоков и MySQL, чтобы подключаться к MySQL всякий раз, когда добавляю spring-boot-starter-jdbc. Я получаю ошибку ниже.

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Tomcat.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.tomcat.jdbc.pool.DataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: com.mysql.jdbc.Driver 
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) ~[spring-beans-4.3.14.RELEASE.jar:4.3.14.RELEASE]
    at org.s

Обновление 1:

    <dependencies>
            <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>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

<dependency>
    <groupId>com.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>3.3</version>
</dependency>

    </dependencies>

Ответы [ 4 ]

0 голосов
/ 27 декабря 2018

Область действия "время выполнения" подходит для модульного тестирования и контейнера в качестве tomcat и т. Д., Когда контейнер предоставляет драйвер jdbc.При запуске автономных приложений (spring-boot) вы должны удалить его или установить «compile».

0 голосов
/ 27 декабря 2018

Похоже, вы забыли добавить зависимость к MySQL (Spring Boot использует базу данных H2 по умолчанию), вы должны добавить следующие строки в ваш pom.xml:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>
0 голосов
/ 27 декабря 2018

Сначала включите это в файл pom.

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

Во-вторых, выполните чистую установку проекта maven.Если вы используете eclipse, проверьте версию JDK и maven (иногда jre используется вместо jdk, поэтому, хотя в консоли все выглядит хорошо, но на самом деле jar не загружается), в коротком репозитории .m2 должен быть этот файл jar, когда сборка maven выполняетсясделано.

0 голосов
/ 27 декабря 2018

Похоже, вам не хватает зависимости от MySQL-коннектора. Добавьте их в свой pom.

Maven:

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

или gradle:

compile "mysql:mysql-connector-java:*"
...