Merangkum Perpustakaan Asli dan JNI Dalam JAR Tunggal
Masalah:
Menggabungkan Tokyo Perpustakaan kabinet ke dalam JAR untuk memudahkan pengedaran sambil mengelakkan keperluan untuk pengagihan semula perpustakaan manual. Penyelesaian semasa yang tersedia menghadapi had dalam memasukkan perpustakaan asli dan mengehadkan penggunaannya kepada pemalam tertentu.
Penyelesaian: Bolehkah Perpustakaan Asli dan JNI Dibungkus Bersama dalam JAR?
Ya, mewujudkan JAR bersatu yang mengandungi perpustakaan JNI asli untuk pelbagai platform boleh dilaksanakan. System.load(Fail) boleh digunakan untuk memuatkan perpustakaan, memintas System.loadLibrary(String) biasa dan menghapuskan keperluan untuk pemasangan perpustakaan peringkat sistem. Kelemahannya terletak pada potensi ketidakserasian platform, kerana JAR mungkin tidak termasuk perpustakaan untuk semua platform yang disokong.
Proses:
Permulaan Statik: Laksanakan pemula statik dalam kelas utama yang:
Penyelesaian Hibrid:
Pendekatan hibrid boleh digunakan, membenarkan kedua-dua perpustakaan terbenam memuatkan dan carian perpustakaan seluruh sistem di sepanjang java.library.path. Ini memastikan keserasian untuk platform yang pustaka terbenam tidak tersedia.
Contoh Pelaksanaan:
Pengikatan Java jzmq ZeroMQ mempamerkan fungsi ini. Kodnya, tersedia [di sini](pautan ke kod jzmq), memberikan pengalaman pemuatan yang lancar sambil mengekalkan fleksibiliti platform.
Atas ialah kandungan terperinci Bolehkah Perpustakaan Asli dan JNI Dibungkus Bersama dalam JAR untuk Pengedaran Ringkas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!