ホームページ >Java >&#&チュートリアル >JAR ファイルで「java.lang.SecurityException: 無効な署名ファイル ダイジェスト」エラーがスローされるのはなぜですか?Maven Shade プラグインを使用して修正するにはどうすればよいですか?
bouncy Castle などの外部ライブラリを利用する JAR ファイルを実行すると、次のような問題が発生する場合があります。エラー:
Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
この問題を解決するには、ルートを理解する必要があります 原因。このエラーは通常、JAR ファイルに無効な署名ファイルが含まれている場合、または Java 仮想マシン (JVM) によって認識されない場合に発生します。
Maven-Shade-Plugin ユーザー向けの解決策
maven-shade-plugin を使用してシェーディングされた uber-JAR を作成しようとしている場合、解決策にはパッケージから特定の署名ファイルを除外することが含まれます プロセス。これを実現するには、POM.xml ファイル内のプラグイン設定に次の行を追加します。
<filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters>
これらの特定の署名ファイルを除外することで、JVM が検証中にそれらを無視できるようになり、無効な署名ファイルが解決されます。署名エラー。
以上がJAR ファイルで「java.lang.SecurityException: 無効な署名ファイル ダイジェスト」エラーがスローされるのはなぜですか?Maven Shade プラグインを使用して修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。