2

Tomcat Apache でプログラムを実行しようとすると、次のエラーが発生します。

SEVERE: マップされた例外を応答に: 500 (Internal Server Error) 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) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2895) で java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) で org.apache.catalina.loader.WebappClassLoader.findClass( WebappClassLoader.java:1173) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) at org.odata4j.producer.jpa.JPAProducerFactory.create(JPAProducerFactory.java:32) at ... ...

以前、「java.lang.NoClassDefFoundError: javax/persistence/Persistence」エラーが発生していたので、javax.persistence_2.0.5.v201212031355.jar を WEB-INF/lib に追加しました。

私の WEB-INF/lib は次のようになります。

ここに画像の説明を入力

4

2 に答える 2

3

私は 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 の依存関係は除外されます。詳細については、このリンクを参照してください。これが役立つことを願っています

于 2019-06-28T11:54:08.257 に答える
0

eclipselink.jar と odata4j-core-0.7.0.jar の両方を削除して、このエラーを解決しました。

私の WEB-INF/lib は次のようになります。

ここに画像の説明を入力

于 2013-06-24T17:32:59.270 に答える