Rumah >Java >javaTutorial >Bagaimana untuk Membetulkan Ralat 'Digest fail tandatangan tidak sah untuk atribut utama Manifes' dalam Fail JAR Berlorek?

Bagaimana untuk Membetulkan Ralat 'Digest fail tandatangan tidak sah untuk atribut utama Manifes' dalam Fail JAR Berlorek?

Linda Hamilton
Linda Hamiltonasal
2024-12-30 22:42:20623semak imbas

How to Fix

Ralat Fail Tandatangan Tidak Sah Semasa Melaksanakan .jar

Apabila menjalankan fail .jar yang mengandungi kebergantungan pada pustaka luaran (cth., bouncy castle ), pengguna mungkin menghadapi ralat berikut:

java.lang.SecurityException: Invalid signature file digest for Manifest main attributes

Ralat ini selalunya menunjukkan isu dengan tandatangan digital balang.

Penyelesaian untuk Pengguna Maven-Shade-Plugin

Untuk pengguna yang mencipta uber-jar berlorek menggunakan maven-shade-plugin, penyelesaiannya terletak pada mengecualikan fail tandatangan manifes daripada proses teduhan. Tambahkan baris berikut pada konfigurasi pemalam:

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

Dengan mengecualikan fail ini, uber-jar berlorek tidak akan mengandungi maklumat tandatangan yang bercanggah, menyelesaikan ralat "Fail tandatangan tidak sah".

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Digest fail tandatangan tidak sah untuk atribut utama Manifes' dalam Fail JAR Berlorek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn