Rumah >Java >javaTutorial >Mengapa saya mendapat 'UnsatisfiedLinkError: Tidak dapat mencari perpustakaan bergantung' apabila menggunakan JNI?

Mengapa saya mendapat 'UnsatisfiedLinkError: Tidak dapat mencari perpustakaan bergantung' apabila menggunakan JNI?

Linda Hamilton
Linda Hamiltonasal
2024-11-16 09:49:03669semak imbas

Why am I getting

Mengatasi "UnsatisfiedLinkError" JNI untuk Perpustakaan Bergantung yang Hilang

Antara Muka Asli Java (JNI) memberi peluang untuk menggunakan kod asli dari dalam Java program. Walau bagaimanapun, menghadapi "UnsatisfiedLinkError" boleh mengecewakan, meninggalkan anda dengan mesej ralat yang membingungkan: "Tidak dapat mencari perpustakaan bergantung."

Menyelesaikan masalah "UnsatisfiedLinkError"

Untuk menyelesaikan isu ini, adalah penting untuk memahami skop laluan carian perpustakaan kongsi dan kebebasannya daripada laluan kelas. Dalam persekitaran Windows, pustaka JNI yang anda cuba muatkan mesti sama ada berada dalam direktori kerja semasa atau dalam direktori yang ditentukan dalam pembolehubah persekitaran Windows PATH.

Pembetulan Cadangan

  1. Sahkan Lokasi Perpustakaan Dikongsi: Pastikan perpustakaan yang diperlukan oleh anda kod asli (cth., libsndfile, MPR.DLL) terletak dalam direktori yang sesuai.
  2. Selesaikan Percanggahan Nama Kaedah: Pastikan nama kaedah dalam perpustakaan JNI betul-betul sepadan dengan yang ditakrifkan dalam Fail pengepala Java.
  3. Tetapkan Harta Sistem (Pilihan): Dalam Java 8 atau lebih baru, anda boleh menetapkan sifat sistem java.library.path secara manual untuk menentukan laluan carian untuk perpustakaan kongsi.

Bahan Rujukan

Untuk butiran terperinci cerapan tentang JNI dan spesifikasinya, pertimbangkan untuk merujuk kepada:

  • Versi HTML Oracle bagi Spesifikasi JNI: https://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/intro.html
  • Laporan pepijat pada forum Oracle: https://bugs. java.com/bugdatabase/view_bug.do?bug_id=8021805

Atas ialah kandungan terperinci Mengapa saya mendapat 'UnsatisfiedLinkError: Tidak dapat mencari perpustakaan bergantung' apabila menggunakan JNI?. 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