2017-04-07 85 views
0

我試圖執行與UHF閱讀器集成相關的程序。編程SDK(ID_ISC.SDK.Java-V4.7.0)由閱讀器製造商給出(在我的情況下,閱讀器是FEIG Electronic的ID ISC.MRU102-USB閱讀器)。當我試圖從這個SDK運行示例項目,我得到了以下錯誤:Netbeans IDE:java.lang.UnsatisfiedLinkError:OBIDISC4J.dll:找不到依賴庫

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Program Files\OBID\OBIDISC4J.dll: Can't find dependent libraries 
     at java.lang.ClassLoader$NativeLibrary.load(Native Method) 
     at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) 
     at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857) 
     at java.lang.Runtime.loadLibrary0(Runtime.java:870) 
     at java.lang.System.loadLibrary(System.java:1122) 
     at de.feig.FedmIscReader.<init>(Unknown Source) 
     at ISOHostSample.ISOHostSample.<init>(ISOHostSample.java:41) 
     at ISOHostSample.ISOHostSample.main(ISOHostSample.java:865) 

我跟着SDK自述文件中給出的說明:

我已經把所需要的.dll文件連同一個.jar文件(OBIDISC4J.jar)位於Program Files下的OBID文件夾中,我已經在Path環境變量中輸入了該路徑。

該程序在運行時導航到此路徑,但無法從中拾取jar庫文件,從而引發上述異常。

任何關於解決這個問題的幫助將不勝感激。謝謝

回答

0

我對「depends.exe」Dependency Walker工具有一些好運,特別是瞭解哪些依賴庫無法找到。最後通常是因爲它們不在你的類路徑中。

該DLL需要位於應用程序的CLASSPATH上,這與Path環境變量不同。由於「src」文件夾已經在類路徑中,我通常會在「src」內創建一個「native \ windows」或「native/linux」文件夾,並將所有的.DLL或.SO庫放入其中。

如果放置libaries項目文件夾裏面是不是出於某種原因的選項,你可以在命令行上的類路徑JAVA.EXE:「Java的-classpath罐子MyJar.jar」

+0

我試着使用depends.exe工具打開OBIDISC4J.dll,但無法獲取任何內容。它顯示了一些錯誤,如系統找不到指定的路徑。我試過把所有的.dll文件放在src/native/windows文件夾下,那裏也沒有運氣。我無法找出問題出在哪裏。 – Arjun