Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465

Spring не может загрузить драйвер mysql (com.mysql.cj.jdbc.Driver)

12.10.2020, 22:14. Показов 4618. Ответов 9

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Spring Boot проект при запуске выдает ошибку, что не может загрузить драйвер mysql (com.mysql.cj.jdbc.Driver):
Caused by: java.lang.IllegalStateException: Cannot load driver class: com.mysql.cj.jdbc.Driver at org.springframework.util.Assert.state(As sert.java:97) at org.springframework.boot.autoconfigure.j dbc.DataSourceProperties.determineDriver ClassName(DataSourceProperties.java:223) at org.springframework.boot.autoconfigure.j dbc.DataSourceProperties.initializeDataS ourceBuilder(DataSourceProperties.java:1 75) at org.springframework.boot.autoconfigure.j dbc.DataSourceConfiguration.createDataSo urce(DataSourceConfiguration.java:43) at org.springframework.boot.autoconfigure.j dbc.DataSourceConfiguration$Hikari.dataS ource(DataSourceConfiguration.java:85) at java.base/jdk.internal.reflect.NativeMethodAccesso rImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccesso rImpl.invoke(NativeMethodAccessorImpl.ja va:62) at java.base/jdk.internal.reflect.DelegatingMethodAcc essorImpl.invoke(DelegatingMethodAccesso rImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.j ava:566) at org.springframework.beans.factory.suppor t.SimpleInstantiationStrategy.instantiat e(SimpleInstantiationStrategy.java:154) ... 90 more
В application.properties выделяет почему-то красным "cj.jdbc.Driver":

XML
1
2
3
4
spring.datasource.url=jdbc:mysql://localhost:3306/db_users
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
В pom.xml указал следующие зависимости:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.4.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.authorization</groupId>
    <artifactId>authorizationservice</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>AuthorizationService</name>
    <description>Service for user authorization</description>
 
    <properties>
        <java.version>11</java.version>
        <mysql-version>5.1.47</mysql-version>
    </properties>
 
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
 
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </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>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
 
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
Сам Hibernate сконфигурировал так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
@Configuration
@ComponentScan(basePackages = { "config"})
@EnableWebMvc
@EnableTransactionManagement
public class HibernateConfig {
    private static Logger logger= LoggerFactory.getLogger(HibernateConfig.class);
 
    @Bean
    public DataSource getDataSource() {
        DriverManagerDataSource dataSource = null;
        try {
            dataSource = new DriverManagerDataSource();
            dataSource.setDriverClassName("com.mysql.jdbc.Driver");
            dataSource.setUrl("jdbc:mysql://localhost:3306/db_users?useSSL=false");//"jdbc:mysql://localhost:3306/dbfastwater?useSSL=false"
            dataSource.setUsername("root");
            dataSource.setPassword("root");
        } catch (Exception e) {
            logger.error("MysqlDataSource bean cannot be created!", e);
        }
        return dataSource;
    }
 
    private Properties hibernateProperties() {
        Properties hibernateProp = new Properties();
        hibernateProp.put("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
        hibernateProp.put("connection.driver_class", "com.mysql.jdbc.Driver");
        hibernateProp.put("hibernate.format_sql", true);
        hibernateProp.put("hibernate.use_sql_comments", true);
        hibernateProp.put("hibernate.show_sql", true);
        hibernateProp.put("hibernate.max_fetch_depth", 3);
        hibernateProp.put("hibernate.jdbc.batch_size", 10);
        hibernateProp.put("hibernate.jdbc.fetch_size", 50);
        
        return hibernateProp;
    }
 
    @Bean
    public SessionFactory sessionFactory() throws IOException {
        LocalSessionFactoryBean sessionFactoryBean = new LocalSessionFactoryBean();
        sessionFactoryBean.setDataSource(getDataSource());
        sessionFactoryBean.setPackagesToScan("entity","dao","service");
        sessionFactoryBean.afterPropertiesSet();
        sessionFactoryBean.setHibernateProperties(hibernateProperties());
        return sessionFactoryBean.getObject();
    }
 
    @Bean
    public PlatformTransactionManager transactionManager() throws IOException {
        HibernateTransactionManager transactionManager=new HibernateTransactionManager();
        transactionManager.setSessionFactory(sessionFactory());
        return transactionManager;
    }
 
}
Где-то ошибка в конфигурировании, но где не могу понять

Добавлено через 35 минут
Ещё Spring делает предупреждение, что не нравится мой конфигурационный файл Hibernate, не мэпит он его:
Unmapped spring configuration files: HibernateConfig.java
Первый раз использую Spring Boot, и точно не знаю, что я не верно сконфигурировал, что-то в Hibernte, но что не знаю

Добавлено через 18 минут
В application.properties пробовал менять
XML
1
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
на
XML
1
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
и убирать из зависимостей pom.xml mysql-connector - результат тот же

Добавлено через 41 минуту
Попробовал в pom.xml прописать текущею версию mysql-connector:
XML
1
2
3
4
5
<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
</dependency>
Выдает ошибку:
Request processing failed; nested exception is org.springframework.dao.DataAccessResour ceFailureException: Could not create JPA EntityManager; nested exception is org.hibernate.service.spi.ServiceExcepti on: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEn vironment]
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.10.2020, 22:14
Ответы с готовыми решениями:

Не подключается MySQL (java.lang.ClassNotFoundException: com.mysql.jdbc.Driver)
Код : import java.io.*; import java.sql.*; public class Connect { public static void main (String args) {

Не подключается JDBC mysql Driver
Помогите, пожалуйста, советом, если есть опыт подключения JDBC драйвера mysql, linux, System application server. 1.Classpath...

Java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Здравствуйте, Помогите пожалуйста решить проблему Программа не может установить соединение с базой данных: Вот фрагмент кода: ...

9
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
13.10.2020, 22:11  [ТС]
Пробую менять mysql-connector в настройках подключения БД MySQL в IDEA: Test connection проходит, только тогда, когда ставлю mysql-connector 5.1.47 (класс - com.mysql.jdbc.Driver), а когда пытаюсь ставить коннектор версии выше (1-н из последних) 8.0.13 (класс -com.mysql.cj.jdbc.Driver) - Test connection не проходит.
0
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
14.10.2020, 16:56  [ТС]
Может это быть связано с тем, что у меня open jdk стоят, а не oracle jdk?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
14.10.2020, 17:56
может быть там класс переименовали, например?
0
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
15.10.2020, 18:19  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
может быть там класс переименовали, например?
Где?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
15.10.2020, 21:16
за шкафом
Цитата Сообщение от Vlad__i__mir Посмотреть сообщение
а когда пытаюсь ставить коннектор версии выше (1-н из последних) 8.0.13
0
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
16.10.2020, 17:33  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
за шкафом
Из вашего сообщения не было ясно о каком классе идет речь.
В сети указывается такое имя. Есть другая инфа?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
16.10.2020, 18:14
открой архив и посмотри?
0
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
17.10.2020, 16:17  [ТС]
Цитата Сообщение от xoraxax Посмотреть сообщение
открой архив и посмотри?
Архив war?
Вот здесь в проекте есть jar mysql connector'a версии 8.0.15 (которую в последний роз указал в pom.xml):
E:\Authorization_service_prjct\authoriza tionService\target\authorizationService-0.0.1-SNAPSHOT\WEB-INF\lib\mysql-connector-java-8.0.15.jar

Пытаюсь его выбрать в качестве коннектора в настройках IDEA, но тест подключения не проходит:


Как посмотреть имя класса в jar?
Миниатюры
Spring не может загрузить драйвер mysql (com.mysql.cj.jdbc.Driver)  
0
6 / 6 / 1
Регистрация: 04.01.2017
Сообщений: 465
17.10.2020, 16:33  [ТС]
Пишет ошибку про тайм зону, но в настройках application.properties в строке подключения я уже указал нужную тайм зону:
java.lang.RuntimeException: com.mysql.cj.exceptions.InvalidConnectio nAttributeException: The server time zone value 'RTZ 4 (çèìà)' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
at sun.reflect.NativeConstructorAccessorImp l.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImp l.newInstance(NativeConstructorAccessorI mpl.java:62)
at sun.reflect.DelegatingConstructorAccesso rImpl.newInstance(DelegatingConstructorA ccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstanc e(Constructor.java:423)
at com.mysql.cj.exceptions.ExceptionFactory .createException(ExceptionFactory.java:6 1)
at com.mysql.cj.exceptions.ExceptionFactory .createException(ExceptionFactory.java:8 5)
at com.mysql.cj.util.TimeUtil.getCanonicalT imezone(TimeUtil.java:132)
at com.mysql.cj.protocol.a.NativeProtocol.c onfigureTimezone(NativeProtocol.java:224 1)
at com.mysql.cj.protocol.a.NativeProtocol.i nitServerSession(NativeProtocol.java:226 5)
at com.mysql.cj.jdbc.ConnectionImpl.initial izePropsFromServer(ConnectionImpl.java:1 319)
at com.mysql.cj.jdbc.ConnectionImpl.connect WithRetries(ConnectionImpl.java:868)
Добавлено через 5 минут
Всё я понял и сделал!!!
Нужно в application.properties в строке подключения указать параметр временной зоны (serverTimezone=UTC). Т.о. конфигурация application.properties выглядит вот так:
XML
1
2
3
4
5
6
7
8
spring.datasource.url=jdbc:mysql://localhost:3306/db_users?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.show-sql=true
spring.jpa.generate-ddl=false
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
И в настройках подключения IDEA в строке подключения прописать этот параметр:
XML
1
jdbc:mysql://localhost:3306/db_users?serverTimezone=UTC
Коннекторы 5.1.47 и ниже работали и без этого параметра, а более новые не хотят
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.10.2020, 16:33
Помогаю со студенческими работами здесь

Ошибка: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
String user = &quot;root&quot;; String password = &quot;cat&quot;; String url = &quot;jdbc:mysql://localhost:3306/MyDB&quot;; String driver...

Ошибка java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Вот опять я. теперь jar запускается но при попытке соединения с mysql орет java.lang.ClassNotFoundException: com.mysql.jdbc.Driver ...

JdbcRowSet выдает ошибку: No suitable driver found for jdbc:mysql://localhost:3306
Разбираюсь с основами JDBC по Oracle-овским тьюториалам (https://docs.oracle.com/javase/tutorial/jdbc/basics/jdbcrowset.html). Для примеров...

Не получается соединиться с mysql через jdbc драйвер
Я скачала драйвер с mysql.com mysql-connector-java-3.0.8-stable-bin.jar. Я работаю в JBuilderX поэтому прописала путь к нему через меню...

Ошибка при отправке запроса MySQL через JDBC MySQL connector
При помощи Maven я вызываю зависимости Twilio и JDBC MySQL connector, и собираю .jar файл. У меня есть кнопка Update в моем GUI, когда я ее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru