Исключение HikariDataSource

#spring-boot #jpa #pom.xml

Вопрос:

Я получаю приведенное ниже исключение при запуске приложения Spring Boot из Eclipse.

Ошибка при создании компонента с именем «dataSourceScriptDatabaseInitializer», определенным в ресурсе пути к классу [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Неудовлетворенная зависимость, выраженная с помощью параметра метода ‘dataSourceScriptDatabaseInitializer’ 0; вложенным исключением является org.springframework.beans.factory.Исключение BeanCreationException: Ошибка при создании компонента с именем «Источник данных», определенным в ресурсе пути к классу [org/springframework/загрузка/автоконфигурация/jdbc/DataSourceConfiguration$Hikari.class]: Не удалось создать экземпляр компонента с помощью заводского метода; вложенное исключение-org.каркас из пружин.фасоль.Исключение BeanInstantiationException: Не удалось создать экземпляр [com.zaxxer.hikari.HikariDataSource]: Фабричный метод «Источник данных» вызвал исключение; вложенным исключением является исключение java.lang.RuntimeException: Не удалось загрузить драйвер класса com.mysql.cj.jdbc.Драйвер в загрузчике классов HikariConfig или загрузчике классов контекста потока

Весенняя загрузка : 2.5.3 Java: 1.8

pom.xml:

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.5.3</version>
    <relativePath/> 
</parent>
<groupId>spring-examples</groupId>
<artifactId>hplusapp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>hplusapp</name>
<description>Demo project for Spring Boot</description>
<properties>
    <java.version>1.8</java.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-web</artifactId>
    </dependency>

    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>mssql-jdbc</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
 

применение.свойства

spring.jpa.hibernate.ddl-авто=обновление

spring.источник данных.url=jdbc:mysql://локальный хост:3306/hplus

spring.источник данных.имя пользователя=root

spring.источник данных.пароль=root

Я заметил, что если я удалю зависимость JPA, я не получу никакой ошибки. Но мне нужен JPA для дальнейших случаев использования. Может ли кто-нибудь помочь мне в этом?

Ответ №1:

Вы используете MySQL, но используете драйвер для MSSQL (Microsoft).

Удалять

 <dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <scope>runtime</scope>
</dependency>
 

и добавьте

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