gpt4 book ai didi

java - Eclipselink 类 "javax.persistence.PersistenceUtil"的签名者信息与同一包中其他类的签名者信息不匹配

转载 作者:行者123 更新时间:2023-12-02 14:38:19 27 4
gpt4 key购买 nike

当我尝试创建 EntityManager 时,出现此异常:

java.lang.SecurityException: class "javax.persistence.PersistenceUtil"'s signer information does not match signer information of other classes in the same package

也许是 javax.persistence 包的问题,​​但我不知道如何修复它。

    public static EntityManager getEntityManager() {
if(emf == null) {
emf = Persistence.createEntityManagerFactory("AccountsManager");
}
return emf.createEntityManager();
}

这是 persistence.xml 文件

  <?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1"
xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="AccountsManager" transaction-
type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>model.Account</class>
<class>model.AllSubscription</class>
<class>model.Client</class>
</persistence-unit>

我发现了类似的问题,但没有找到任何解决方案。

最佳答案

在阅读了所有可能的类似主题后,我找到了答案。

在当前版本的 eclipselink(2.7.4) 中,如果将 jakarta.persistence_2.2.2.jar 与 eclipselink.jar 一起添加,则会出现此问题。这两个 jar 都有一些同名的类和包。为了解决这个问题,您必须在 eclipselink.jar 之前添加 jakarta.persistence_2.2.2.jar。所以所有的类(class)都不是部分地从 Jakarta 进行的。

我不完全理解这两个库如何相互作用,但是替换构建路径中的顺序有帮助。

关于java - Eclipselink 类 "javax.persistence.PersistenceUtil"的签名者信息与同一包中其他类的签名者信息不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56577987/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com