ホームページ >Java >&#&チュートリアル >シェーディングされた JAR ファイルの「マニフェストのメイン属性の署名ファイル ダイジェストが無効です」エラーを修正する方法
.jar の実行中に無効な署名ファイル エラーが発生する
外部ライブラリ (bouncy Castle など) への依存関係を含む .jar ファイルを実行するとき)、ユーザーは次のような問題に遭遇する可能性があります。エラー:
java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
このエラーは、多くの場合、jar のデジタル署名に問題があることを示します。
Maven-Shade-Plugin ユーザー向けの解決策
ユーザーが maven-shade-plugin を使用してシェーディングされた uber-jar を作成している場合、解決策はマニフェスト署名ファイルをシェーディングの工程。プラグインの設定に次の行を追加します。
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <configuration> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> <!-- Additional configuration. --> </configuration> </plugin>
これらのファイルを除外すると、シェーディングされた uber-jar に競合する署名情報が含まれず、「無効な署名ファイル」エラーが解決されます。
以上がシェーディングされた JAR ファイルの「マニフェストのメイン属性の署名ファイル ダイジェストが無効です」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。