You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot从Maven迁移Gradle后MySQL5InnoDBDialect类找不到

问题解决:Gradle迁移后ClassNotFoundException: org.hibernate.dialect.MySQL5InnoDBDialect

问题原因

  1. 版本不兼容:当前Gradle配置使用Spring Boot 3.0.6,默认集成Hibernate 6.x,但org.hibernate.dialect.MySQL5InnoDBDialect是Hibernate 5.x专属的方言类,Hibernate 6.x已移除该类。而原Maven项目大概率使用Spring Boot 2.x(集成Hibernate 5.x),迁移时版本不匹配导致异常。
  2. 依赖冲突:配置中存在多处冗余/冲突依赖:
    • 同时引入Hibernate 6.x的hibernate-core和Hibernate 5.x的hibernate-entitymanager,版本矛盾。
    • 同时包含Java EE的javax.persistence-api和Jakarta EE的jakarta.persistence-api,Spring Boot 3.x仅需Jakarta EE API。
    • spring-data-jpa、hibernate-core等依赖已被spring-boot-starter-data-jpa自动包含,手动引入引发版本冲突。

修改后的build.gradle(无需改动源码)

将Spring Boot版本降级至2.7.x(兼容原Maven项目环境,支持Java 17),并清理冲突依赖:

plugins {
    id 'java'
    id 'org.springframework.boot' version '2.7.12'
    id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}

group = 'com.me'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    runtimeOnly 'mysql:mysql-connector-java:8.0.33'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
}

tasks.named('test') {
    useJUnitPlatform()
}

修改说明

  • 降级Spring Boot到2.7.12稳定版,对应Hibernate 5.6.x,自动包含MySQL5InnoDBDialect类,匹配原Maven项目的依赖环境。
  • 移除所有冗余依赖:Spring Boot的starter依赖已自动集成所需的Hibernate、JPA、JDBC等组件,无需手动指定。
  • 依赖版本由Spring Boot的dependency-management插件统一管控,彻底避免版本冲突。

内容的提问来源于stack exchange,提问作者Introspective

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 21:02:02