【问题标题】:Eclipse (Helios) fails to load DLLEclipse (Helios) 无法加载 DLL
【发布时间】:2012-01-24 18:54:20
【问题描述】:

我的 Java 程序在 Windows 上失败并出现以下错误。

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 的位置添加到系统的路径环境变量中
  • 在程序中明确设置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也是。

谁能解释一下这种行为?顺便说一句,我也无法弄清楚 eclipse 从哪里选择 C:\Program Files\Java\jre6\bin 并添加到 java.library.path?它不是系统路径环境变量的一部分。

【问题讨论】:

    标签: java windows eclipse dll unsatisfiedlinkerror


    【解决方案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

    【讨论】:

      猜你喜欢
      • 2011-11-04
      • 2012-12-28
      • 1970-01-01
      • 2014-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-26
      相关资源
      最近更新 更多