错误:类“javax.persistence.PersistenceUtil”的签名者信息不匹配

时间:2013-06-24 17:32:59

标签: java eclipse tomcat persistence securityexception

当尝试使用Tomcat Apache运行我的程序时,我收到以下错误:

  

SEVERE:映射异常响应:500(内部服务器错误)   java.lang.SecurityException:类“javax.persistence.PersistenceUtil”的签名者信息与同一包中其他类的签名者信息不匹配       在java.lang.ClassLoader.checkCerts(ClassLoader.java:806)       在java.lang.ClassLoader.preDefineClass(ClassLoader.java:487)       在java.lang.ClassLoader.defineClassCond(ClassLoader.java:625)       at java.lang.ClassLoader.defineClass(ClassLoader.java:615)       at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)       在org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2895)       在org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173)       在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681)       在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)       在org.odata4j.producer.jpa.JPAProducerFactory.create(JPAProducerFactory.java:32)       在.......

之前我收到了“java.lang.NoClassDefFoundError:javax / persistence / Persistence”错误,因此我将javax.persistence_2.0.5.v201212031355.jar添加到了WEB-INF / lib。

我的WEB-INF / lib看起来像:

enter image description here

2 个答案:

答案 0 :(得分:0)

我通过删除BOTH eclipselink.jar和odata4j-core-0.7.0.jar解决了这个错误

我的WEB-INF / lib现在看起来像:

enter image description here

答案 1 :(得分:0)

我正在使用eclipselink版本2.7.4,并得到了相同的错误并进行修复,因此我从eclipselink依赖项中排除了javax.persistence和jakarta.persistence。

错误:

  

java.lang.SecurityException:类   “ javax.persistence.PersistenceUtil”的签名者信息不正确   匹配同一包中其他类的签名者信息

修复:

<asp:Panel TabIndex="-1" runat="server" ID="pnlMedicalLicenseInfo">
    <asp:RadioButton ID="rboMedicalLicenseYes" AutoPostBack="true" Checked="true" Value="1" runat="server" GroupName="rboMedicalLicense" ClientIDMode="Static"></asp:RadioButton>
    <asp:RadioButton ID="rboMedicalLicenseNo" AutoPostBack="true" Value="0" runat="server" GroupName="rboMedicalLicense" ClientIDMode="Static" />
    <asp:CustomValidator ID="cusValMedicalLicense" Display="Dynamic" Enabled="false" runat="server" ClientValidationFunction="rbtnMedicalLicenseValidate" ValidationGroup="SD" CssClass="DisplayErrorMessage HideControl">
       <%=base.GetResourceValue("WUCStudyDetailsNonHuman_cvrbPaidDirectly") %>
    </asp:CustomValidator>
    <span class="DisplayErrorMessage" style="display: none" id="divMedicalLicenseErr">
       <%=base.GetResourceValue("WUCStudyDetailsNonHuman_divMedicalLicenseErr") %>
    </span>
</asp:Panel>

这将插入eclipselink,但不包括javax.persistence依赖项。 请参阅this link了解更多详细信息。 我希望这会有所帮助