2012-01-24 219 views
1

我的Java程序失敗,在Windows上出現以下錯誤。Eclipse(Helios)無法加載DLL

Exception in thread "main" java.lang.UnsatisfiedLinkError: no XSvcSocket in java.library.path 
at java.lang.ClassLoader.loadLibrary(Unknown Source) 
at java.lang.Runtime.loadLibrary0(Unknown Source) 
at java.lang.System.loadLibrary(Unknown Source) 

我試着像

  • 不同的東西添加DLL的位置,以系統的PATH環境變量
  • 在程序中設置DLL的位置明確如下

     String libpath = System.getProperty("java.library.path"); 
         libpath = "C:\\extlibs;" + libpath; 
         System.setProperty("java.library.path", libpath); 
         libpath = System.getProperty("java.library.path"); 
    

我看到的java.library.path如下所示。

"Lib Path: C:\extlibs;C:\Program Files\Java\jre6\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows" 

有問題的DLL可在「C:\ extlibs」中找到。幾個觀察是,當我把DLL放到「C:\ Program Files \ Java \ jre6 \ bin」中時,我的程序不會關於DLL(即加載它),但我必須處理許多其他DLL太。

任何人都可以闡明這種行爲?順便說一句,我也無法弄清楚從哪裏挑選C:\ Program Files \ Java \ jre6 \ bin並添加到java.library.path?它不是系統路徑環境變量的一部分。

回答

1

在eclipse中添加本機庫的正確方法如下所示。轉到Properties/Java Build Path/Libraries/Expand the jar file for which you want to add the native library/Select Native Library location/Click Edit/Add the DLL

enter image description here

+0

非常感謝。它有幫助。 – Shyam

+0

但我只能添加一個文件夾,而不是.dll,是嗎? – DkAngelito