Моя программа на 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 в системную переменную env пути
явная установка местоположения 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?это не часть системной переменной пути.