【问题标题】:The type javax.persistence.EntityManager is not accessible [closed]javax.persistence.EntityManager 类型不可访问[关闭]
【发布时间】:2021-10-31 08:17:03
【问题描述】:

我在eclipse上的maven项目突然产生了上述错误,即使在弹出错误之前项目已经成功运行。所有必需的依赖项都已添加到 pom.xml 文件中,项目运行正常,但出现此错误,我不知道是什么原因造成的。我试图删除并添加依赖项,但错误仍然存​​在。这种相同类型的错误让我安装了新的 Eclipse IDE(面向 Java 开发人员的 Eclipse IDE 2021-06)并小心地将文件传输到新的 IDE。该项目在新的 IDE 中运行良好几天,然后突然再次产生相同的错误。请问发生了什么,我该如何解决这个问题?您的指南将不胜感激。下面是我的maven依赖的截图:

Screenshot of my maven dependencies

我的 pom.xml 文件中的依赖如下:

<dependencies>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>15.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-fxml</artifactId>
        <version>15.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.5.7.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>5.5.7.Final</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.hibernate.javax.persistence/hibernate-jpa-2.1-api -->
    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.1-api</artifactId>
        <version>1.0.2.Final</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/javax.persistence/javax.persistence-api -->
    <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>javax.persistence-api</artifactId>
        <version>2.2</version>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.23</version>
    </dependency>
    <dependency>
        <groupId>com.jfoenix</groupId>
        <artifactId>jfoenix</artifactId>
        <version>9.0.10</version>
    </dependency>
</dependencies>

【问题讨论】:

  • 您的 Maven 错误位于第 85 行和第 115 行。
  • 谢谢你,@Zorglube。你指的是 pom.xml 文件吗?它不表示任何错误,也没有第 115 行。Service.java 文件(有错误的文件)上的第 85 行和第 115 行只是创建 JPQL 查询对象。
  • 我指的是你的 maven 控制台。

标签: java eclipse maven jpa dependencies


【解决方案1】:

经过几次尝试,我已经能够解决问题。我通过删除 pom.xml 文件中的依赖项条目从 Maven 依赖项中删除了 javax.persistence-api-2.2 jar。我决定这样做是因为我发现 hibernate-jpa-2.1-api-1.0.2.Final.jar 也有 javax.persistence 包,其中包含持久性操作所需的所有类。我立即刷新我的项目,javax.persistence-api-2.2 jar 被删除,错误消失了。我认为在我的声明中使用哪个 javax.persistence 可能存在冲突:javax.persistence-api-2.2 jar 或 hibernate-jpa-2.1-api-1.0.2.Final.jar 中的那个。也许它引用了不适用的前者-但是,我不太确定这个原因,但是当我删除 javax.persistence-api-2.2 jar 时它起作用了。

【讨论】:

    猜你喜欢
    • 2019-02-14
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    相关资源
    最近更新 更多