#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>