無法加載 JNI 共享庫 [修復]

無法加載 JNI 共享庫 [修復]

當您嘗試在 Windows 11 或 Windows 10 計算機上打開或啟動 Eclipse 或其他軟件(如 Spring Tool Suite (STS)、KNIME、Dbeaver 等)時,您可能會收到錯誤消息 Failed to load the JNI shared library。這篇文章提供了適用的錯誤修復程序,可以幫助受影響的 PC 用戶解決他們系統上的問題。

什麼是 Java 中的共享庫?

在 Java 中,共享庫是多個應用程序使用的文件。每個共享庫都包含一個符號名稱、一個 Java 類路徑和一個用於加載 Java 本機接口 (JNI) 庫的本機路徑。通常,共享庫可用於減少系統上重複庫文件的數量。

通常,錯誤消息片段如下所示:

無法加載 JNI 共享庫“C:/JDK/bin/client/jvm.dll”`

遇到此錯誤的 PC 用戶報告說,該問題通常會在您將軟件安裝到系統上後運行時立即出現——軟件通常隨後就會關閉。該錯誤表示無法找到或加載軟件所需的 Java Native Interface (JNI) 庫。已知此錯誤通常由以下任何常見原因觸發。

  • 有問題的軟件和 Java 運行時的體系結構(位數)版本不匹配。
  • 系統上未安裝 Java,或者安裝已損壞。
  • 安裝了 32 位和 64 位版本的 Java 或多個版本的有問題的軟件。
  • 該軟件未檢測到或指向錯誤的 Java 安裝文件夾。
  • JNI 庫丟失或損壞。
  • 系統配置問題。

修復 JNI共享庫加載失敗

如果您嘗試在 Windows 11/10 計算機上打開 Dbeaver、KNIME、Eclipse、Spring Tool Suite 等軟件時遇到無法加載 JNI 共享庫的問題,那麼我們在下面製定和介紹的解決方案可以輕鬆幫助您修復錯誤。

  1. 使用 -clean 選項啟動軟件
  2. 編輯軟件。ini文件
  3. 確保軟件和 Java 版本匹配
  4. 刪除 Java 路徑變量
  5. 重新安裝軟件。

讓我們看看這些修復是如何應用的。在繼續之前,根據在您的系統上引發錯誤的軟件,確保您運行的是軟件的最新版本/內部版本,然後查看問題是否已解決。同樣,嘗試更新您的系統庫(這包括 .Net Framework 和 Visual C++ 可再發行組件)和更新驅動程序。

1]使用-clean選項啟動軟件

當您正常啟動軟件並在您的 Windows 11/10 計算機上拋出 Failed to load the JNI shared library 錯誤時,您可以嘗試使用該選項啟動軟件,-clean這將重置軟件配置。為此,打開命令提示符並導航到軟件安裝目錄,

2]編輯軟件。ini文件

此修復要求您編輯有問題的軟件。ini 文件以確保軟件指向正確的 Java 安裝並且軟件配置為使用正確的 Java 版本並且 Java 可執行文件位於系統路徑中。要執行此任務,請執行以下步驟:

  • 打開文件資源管理器。
  • 在 C:\ 驅動器上,導航到 Java Development Kit 的安裝目錄。
  • 在該位置,導航到jrex.x.xx > bin並選擇 javaw.exe 文件。xxxx 佔位符代表您安裝的 Java 版本。
  • 現在,按Alt+D組合鍵更改麵包屑導航並突出顯示地址欄。
  • CTRL+C將完整文件路徑複製到剪貼板。或者,在 Windows 11 中,右鍵單擊 exe 文件並從上下文菜單中選擇複製為路徑。
  • 接下來,導航到有問題的軟件安裝文件夾。您可以右鍵單擊軟件快捷方式,然後從上下文菜單中選擇“打開文件位置”選項。
  • 在該位置,右鍵單擊軟件ini文件(例如eclipse.ini),選​​擇用記事本打開。
  • 現在,確保您導航到文件的頂部並粘貼下面的行。將 path\to 佔位符替換為您從文件資源管理器地址欄複製的文件路徑。

-vm
C:\path\to\64bit\java\bin\javaw.exe

  • 保存文件並退出。

現在,重新啟動程序並查看錯誤是否再次出現。如果是這樣,請繼續下一個修復。

3]確保軟件和Java版本匹配

對於此修復,如果您使用的是 64 位版本的有問題的軟件,則還應確保安裝 64 位版本的 Java Runtime。同樣,如果使用 32 位版本,則需要執行相同的操作。因此,如果是這種情況,那麼您可以卸載 Java,然後下載/安裝正確的 Java 位數版本以匹配您系統上的軟件位數。

4]刪除Java路徑變量

如果您的計算機上同時安裝了 32 位和 64 位版本的 Java,則拋出錯誤的軟件可能無法確定要使用的適當 Java 版本。例如,如果 64 位版本的軟件試圖使用 32 位版本的 Java,則會觸發錯誤。在這種情況下,要解決此問題,您可以按照以下步驟簡單地刪除其 Path 變量,而不是卸載一個版本的 Java:

  • Windows 鍵 + R調用“運行”對話框。
  • 在“運行”對話框中,鍵入 sysdm.cpl 並按 Enter 以打開“系統屬性”。
  • 單擊高級選項卡。
  • 在“高級”選項卡的右下部分,單擊“環境變量”按鈕。
  • 在用戶變量部分下,您將看到所有用戶變量的列表。
  • 單擊系統變量用戶變量部分下的路徑變量
  • 單擊下面的編輯按鈕。
  • 找到 Java 文件夾的路徑(與安裝的有問題軟件的版本不匹配),選擇它,然後從左側菜單中選擇刪除。

嘗試重新打開程序並檢查它現在是否可以正常運行。如果沒有,請繼續進行下一個修復。

5]重新安裝軟件

您可以卸載該軟件,然後下載最新版本的軟件並將其安裝到您的Windows 11/10 電腦上。此操作很可能會解決問題。

我希望這篇文章對你有幫助!

JNI 的目的是什麼?

使用 JNI 庫,程序員可以編寫本地方法來處理應用程序不能完全用 Java 編程語言編寫的情況。例如,當標準 Java 類庫不支持特定於平台的功能或程序庫時,可以使用它。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *