我的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的位置,如下所示
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?它不是系统路径环境变量的一部分。
答案 0 :(得分: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