ホームページ >Java >&#&チュートリアル >シェーディングされた JAR ファイルの「マニフェストのメイン属性の署名ファイル ダイジェストが無効です」エラーを修正する方法

シェーディングされた JAR ファイルの「マニフェストのメイン属性の署名ファイル ダイジェストが無効です」エラーを修正する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-30 22:42:20627ブラウズ

How to Fix

.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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。