首頁 >Java >java教程 >使用 JNI 時為什麼會收到「UnsatisfiedLinkError:找不到依賴函式庫」?

使用 JNI 時為什麼會收到「UnsatisfiedLinkError:找不到依賴函式庫」?

Linda Hamilton
Linda Hamilton原創
2024-11-16 09:49:03673瀏覽

Why am I getting

解決JNI 因缺少依賴函式庫而導致的「UnsatisfiedLinkError」

Java 本機介面(JNI) 提供了從Java 內部呼叫本機代碼的機會程式。然而,遇到「UnsatisfiedLinkError」可能會令人沮喪,給您留下令人困惑的錯誤訊息:「找不到依賴函式庫。」

解決「UnsatisfiedLinkError」

要解決此問題,了解共享庫搜尋路徑的範圍及其與類路徑的獨立性至關重要。在 Windows 環境中,您嘗試載入的 JNI 程式庫必須駐留在目前工作目錄或 Windows PATH 環境變數中指定的目錄中。

建議修正

  1. 驗證共用程式庫的位置:確保本機程式碼所需的函式庫(例如libsndfile、MPR.DLL )位於適當的目錄中。
  2. 解決方法名稱差異:確保 JNI 函式庫中的方法名稱與 Java 頭檔中定義的方法名稱完全相符。
  3. 設定係統屬性(選用):中Java 8 或更高版本,您可以手動設定 java.library.path 系統屬性來指定共用程式庫的搜尋路徑。

參考資料

對於要詳細了解JNI 及其規範,請考慮參考:

  • Oracle 的HTML 版本的JNI 規格:https://docs.oracle.com/javase/8/docs/technotes/guides/jni /spec/intro.html
  • Oracle 論壇上的錯誤回報:https://bugs.java .com/bugdatabase/view_bug.do?bug_id=8021805

以上是使用 JNI 時為什麼會收到「UnsatisfiedLinkError:找不到依賴函式庫」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn