1. ホーム
  2. java

[解決済み] Java SecurityException: 署名者の情報が一致しない

2022-06-06 22:38:12

質問

いつものようにクラスを再コンパイルしたら、突然次のようなエラーメッセージが表示されました。なぜでしょうか、どうすれば直るのでしょうか。

java.lang.SecurityException: class "Chinese_English_Dictionary"'s signer information does not match signer information of other classes in the same package
    at java.lang.ClassLoader.checkCerts(ClassLoader.java:776)

どのように解決するのですか?

同じパッケージに属するクラスが異なる JAR ファイルからロードされ、それらの JAR ファイルが異なる証明書で署名されている場合、または、おそらくより頻繁に、少なくとも 1 つは署名され、1 つ以上の他のものは署名されていない場合 (これは、AFAIK では署名できないのでディレクトリからロードされたクラスも含みます)、これが発生します。

したがって、すべての JAR (または、少なくとも同じパッケージからのクラスを含むもの) が同じ証明書を使用して署名されていることを確認するか、重複するパッケージを持つ JAR ファイルのマニフェストから署名を削除するか、どちらかです。