微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法访问类javax.persistence.Persistence在未命名模块@ 0x21e018cc中,因为模块com.mycompany.modpersona不读取未命名模块

如何解决无法访问类javax.persistence.Persistence在未命名模块@ 0x21e018cc中,因为模块com.mycompany.modpersona不读取未命名模块

从简单模块调用modpersona模块以访问数据库表时发生错误

赞赏是否有人可以阐明为什么会引发此错误

这是一个MAVEN项目。

OS FEDORA 32; NETBEANS 12.1; JAVA 15; JAVAFX 15; NETBEANS 12.1; 我的sql 8.0.21

应用程序启动方法中的异常 java.lang.reflect.InvocationTargetException 在java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) 在java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.base / java.lang.reflect.Method.invoke(Method.java:564) 在javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464) 在javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363) 在java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) 在java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.base / java.lang.reflect.Method.invoke(Method.java:564) 在java.base / sun.launcher.LauncherHelper $ FXHelper.main(LauncherHelper.java:1071) 原因:java.lang.RuntimeException:应用程序启动方法中的异常 在javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900) 在javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195) 在java.base / java.lang.Thread.run(Thread.java:832)

原因:java.lang.IllegalAccessError:类com.mycompany.modpersona.PersonaDAO(在com.mycompany.modpersona模块中)无法访问类javax.persistence.Persistence(在未命名的模块@ 0x21e018cc中),因为模块com.mycompany。 modpersona不读取未命名的模块@ 0x21e018cc 在com.mycompany.modpersona / com.mycompany.modpersona.PersonaDAO。(PersonaDAO.java:17) 在com.mycompany.simple / com.mycompany.simple.App.start(App.java:21) 在javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846) 在javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455) 在javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) 在java.base / java.security.AccessController.doPrivileged(AccessController.java:391) 在javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) 在javafx.graphics/com.sun.glass.ui.invokelaterdispatcher$Future.run(invokelaterdispatcher.java:96) 在javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(本机方法) 在javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277) ...还有1个 运行应用程序com.mycompany.simple.App的异常 包com.mycompany.simple;

public void start(Stage stage) {
    System.out.println("hola new york");
    
    final PersonaDAO daoPersona = new PersonaDAO();
    Persona entPersona = daoPersona.getPersonaByCodigo("V00000000000");
    String strNombre = entPersona.getNombrePersona();
    System.out.println(strNombre);

公共类PersonaDAO {

private final PersonaJPA personaController;
private final EntityManagerFactory emf;

public PersonaDAO() {
    emf = Persistence.createEntityManagerFactory("com.mycompany_modpersona_jar_1.0-SNAPSHOTPU");
    personaController = new PersonaJPA(emf);
}


<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>modpersona</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.1</version>
        </plugin>
    </plugins>
</build>
<dependencies>
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.core</artifactId>
        <version>2.7.7</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.asm</artifactId>
        <version>2.7.7</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.antlr</artifactId>
        <version>2.7.7</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.jpa</artifactId>
        <version>2.7.7</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.jpa.jpql</artifactId>
        <version>2.7.7</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.moxy</artifactId>
        <version>2.7.7</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>javax.persistence</artifactId>
        <version>2.2.1</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
        <version>2.7.7</version>
        <scope>provided</scope>
    </dependency>
</dependencies>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>15</maven.compiler.source>
    <maven.compiler.target>15</maven.compiler.target>
</properties>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>simple</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
</properties>
<dependencies>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>15</version>
    </dependency>
    <dependency>
        <groupId>${project.groupId}</groupId>
        <artifactId>modpersona</artifactId>
        <version>${project.version}</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
                <release>11</release>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-maven-plugin</artifactId>
            <version>0.0.4</version>
            <configuration>
                <mainClass>com.mycompany.simple.App</mainClass>
            </configuration>
            <executions>
                <execution>
                    <!-- Default configuration for running -->
                    <!-- Usage: mvn clean javafx:run -->
                    <id>default-cli</id>
                </execution>
                <execution>
                    <!-- Configuration for manual attach debugging -->
                    <!-- Usage: mvn clean javafx:run@debug -->
                    <id>debug</id>
                    <configuration>
                        <options>
                            <option>-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:8000</option>
                        </options>
                    </configuration>
                </execution>
                <execution>
                    <!-- Configuration for automatic IDE debugging -->
                    <id>ide-debug</id>
                    <configuration>
                        <options>
                            <option>-agentlib:jdwp=transport=dt_socket,server=n,address=${jpda.address}</option>
                        </options>
                    </configuration>
                </execution>
                <execution>
                    <!-- Configuration for automatic IDE profiling -->
                    <id>ide-profile</id>
                    <configuration>
                        <options>
            <option>${profiler.jvmargs.arg1}</option>
            <option>${profiler.jvmargs.arg2}</option>
            <option>${profiler.jvmargs.arg3}</option>
            <option>${profiler.jvmargs.arg4}</option>
            <option>${profiler.jvmargs.arg5}</option>
                        </options>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?