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

JavaFX集成EclipseLink、jakarta.persistence、mysql-connector包冲突报错求解

报错原因

这个错误是Java 9+引入的JPMS模块化系统的限制导致的:同一个包不能被两个不同的模块同时导出给第三方模块。你引入的jakarta.persistence(模块名java.persistence)和eclipselink两个模块都包含并导出了javax.persistence.criteria包,同时mysql-connector-java模块又同时依赖这两个模块,就触发了包冲突。

解决方案

以下两个方案二选一即可:

方案一:最简单快速,关闭模块化

JavaFX支持非模块化运行,直接删除module-info.java文件即可绕过模块化的包冲突限制,操作步骤:

  1. 删除项目根目录下的module-info.java文件
  2. 修改pom.xml中javafx-maven-plugin的mainClass配置,去掉模块名前缀:
    <mainClass>das.sad.HelloApplication</mainClass>
    
  3. 重新刷新Maven依赖后运行即可。

方案二:保留模块化,调整依赖和配置

  1. 先将三个依赖正确添加到pom.xml的节点下,同时排除EclipseLink内置的重复JPA API包:
    <!-- MySQL驱动 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.20</version>
    </dependency>
    <!-- EclipseLink -->
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>eclipselink</artifactId>
        <version>2.7.8</version>
        <exclusions>
            <exclusion>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>javax.persistence</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- JPA 2.2 API -->
    <dependency>
        <groupId>jakarta.persistence</groupId>
        <artifactId>jakarta.persistence-api</artifactId>
        <version>2.2.3</version>
    </dependency>
    
  2. 修改module-info.java,给EclipseLink开放实体类的反射权限:
    module das.sad {
        requires javafx.controls;
        requires javafx.fxml;
    
        requires org.controlsfx.controls;
        requires com.dlsc.formsfx;
        requires org.kordamp.bootstrapfx.core;
        requires java.persistence;
        requires mysql.connector.java;
        requires eclipselink;
    
        // 给eclipselink开放反射权限,否则JPA无法读取实体类
        opens das.sad to javafx.fxml, eclipselink;
        exports das.sad;
    }
    
  3. 刷新Maven依赖后重新运行即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:39:04