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

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-20 08:47:09244ブラウズ

How to Fix the

JAR ファイル実行時の「無効な署名ファイル」エラーのトラブルシューティング

Java アーカイブ (JAR) ファイルを実行しようとすると、特定の状況により、 「マニフェストの主要属性の署名ファイル ダイジェストが無効です。」という複雑なエラーが発生します。この問題は、プログラムが外部ライブラリを利用し、JAR としてパッケージ化されている場合に発生することがあります。

このエラーの潜在的な原因の 1 つは、JAR 内にマニフェスト署名ファイルが存在することです。これらのファイルは、JAR ファイルのセキュリティ対策である署名プロセスの典型的な副産物です。 maven-shade-plugin を使用してシェーディングされた「uber-JAR」を作成しようとする場合、この競合を防ぐために除外構成が重要です。

この問題を解決するには、次のフィルター セクションを追加してプラグイン構成を変更します。 :

<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>

この構成では、マニフェスト署名ファイル (SF、DSA、RSA) が uber-JAR から除外されるため、エラーの原因が排除されます。この変更により、プログラムは「無効な署名ファイル」例外が発生することなく正常に実行されるはずです。

以上がJAR ファイルの「マニフェストのメイン属性の署名ファイル ダイジェストが無効です」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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