Rumah > Java > javaTutorial > Mengapa Fail JAR Saya Melemparkan Ralat 'java.lang.SecurityException: Intisari fail tandatangan tidak sah', dan Bagaimana Saya Boleh Membetulkannya Menggunakan Pemalam Maven Shade?

Mengapa Fail JAR Saya Melemparkan Ralat 'java.lang.SecurityException: Intisari fail tandatangan tidak sah', dan Bagaimana Saya Boleh Membetulkannya Menggunakan Pemalam Maven Shade?

Linda Hamilton
Lepaskan: 2025-01-03 12:12:41
asal
1055 orang telah melayarinya

Why Does My JAR File Throw a

Memahami Ralat "Fail Tandatangan Tidak Sah" dalam Pelaksanaan JAR

Apabila melaksanakan fail JAR yang menggunakan pustaka luaran, seperti bouncy castle, anda mungkin menghadapi perkara berikut ralat:

Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
Salin selepas log masuk

Untuk menyelesaikan isu ini, anda perlu memahami punca sebab. Ralat ini biasanya timbul apabila fail JAR mengandungi fail tandatangan yang tidak sah atau tidak dikenali oleh Java Virtual Machine (JVM).

Penyelesaian untuk Pengguna Maven-Shade-Plugin

Bagi mereka yang cuba mencipta uber-JAR berlorek menggunakan maven-shade-plugin, penyelesaiannya melibatkan pengecualian khusus fail tandatangan daripada proses pembungkusan. Anda boleh mencapai ini dengan menambahkan baris berikut pada konfigurasi pemalam anda dalam fail 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>
Salin selepas log masuk

Dengan mengecualikan fail tandatangan khusus ini, anda membenarkan JVM mengabaikannya semasa pengesahan, dengan itu menyelesaikan fail yang tidak sah ralat tandatangan.

Atas ialah kandungan terperinci Mengapa Fail JAR Saya Melemparkan Ralat 'java.lang.SecurityException: Intisari fail tandatangan tidak sah', dan Bagaimana Saya Boleh Membetulkannya Menggunakan Pemalam Maven Shade?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan