【问题标题】:Error: class "javax.persistence.PersistenceUtil"'s signer information does not match错误:类“javax.persistence.PersistenceUtil”的签名者信息不匹配
【发布时间】:2013-06-21 07:33:37
【问题描述】:

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

严重:将异常映射到响应: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) 在 java.lang.ClassLoader.defineClass(ClassLoader.java:615) 在 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 看起来像:

【问题讨论】:

    标签: java eclipse tomcat persistence securityexception


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我使用的是 eclipselink 版本 2.7.4 并且遇到了同样的错误,为了修复它,我从 eclipselink 依赖项中排除了 javax.persistence 和 jakarta.persistence。

      错误:

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

      修复:

      <dependency>
          <groupId>org.eclipse.persistence</groupId>
          <artifactId>eclipselink</artifactId>
          <version>2.7.4</version>
          <exclusions>
              <exclusion>
                  <groupId>org.eclipse.persistence</groupId>
                  <artifactId>javax.persistence</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>org.eclipse.persistence</groupId>
                  <artifactId>jakarta.persistence</artifactId>
              </exclusion>
          </exclusions>
      </dependency>
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-14
        • 1970-01-01
        • 2011-02-22
        相关资源
        最近更新 更多