Eclipse (Helios) не может загрузить DLL - PullRequest
1 голос
/ 24 января 2012

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

1 Ответ

1 голос
/ 24 января 2012

Правильный способ добавления собственных библиотек в 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

...