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

Hibernate+Maven项目连接谷歌云MySQL出现java.sql.SQLException类未找到异常

问题根因

报错java.lang.ClassNotFoundException: java.sql.SQLException是因为你使用了Java 9+的JPMS模块化系统(配置了module-info.java),但没有声明依赖JDK内置的java.sql模块,JDBC相关的核心类都属于该模块,导致Hibernate初始化时找不到必要的SQL基础类。

解决方案

1. 修改module-info.java配置

补充缺失的模块依赖声明,同时开放实体类包给Hibernate做反射访问,修改后的完整配置如下:

module SlidingPuzzle {
    requires javafx.controls;
    requires javafx.fxml;
    requires java.persistence;
    // 新增以下3个依赖声明
    requires java.sql;
    requires org.hibernate.orm.core;
    requires mysql.connector.java;

    opens controllers to javafx.fxml;
    // 开放实体类所在包给Hibernate和JPA,用于反射操作实体字段
    opens models.database to org.hibernate.orm.core, java.persistence;
    exports controllers;
}

2. 验证持久化配置路径

确认你的persistence.xml放在项目的src/main/resources/META-INF/路径下,且文件内配置的持久化单元名称和代码中Persistence.createEntityManagerFactory("manager1")传入的manager1完全一致,同时检查谷歌云MySQL的连接地址、用户名、密码、驱动类配置正确。

3. 可选排查方案

如果修改后仍有类找不到的问题,可以临时删除module-info.java关闭模块化系统,验证功能是否正常。如果关闭模块化后运行正常,说明剩余报错仍为模块依赖声明遗漏,可根据具体报错信息补充对应的requires声明即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 10:57:03