java - Eclipse (Helios) undlader at indlæse DLL

Indlæg af Hanne Mølgaard Plasc

Problem



Mit Java-program fejler med følgende fejl på 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)


Jeg forsøgte forskellige ting som



  • tilføjer placeringen af ​​DLL til systemets path env-variabel

  • Angivelse af DLL-placering eksplicit i programmet som nedenfor


            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 Jeg får se er vist nedenfor.


"Lib Path: C:extlibs;C:Program FilesJavajre6in;.;C:WindowsSunJavain;C:Windowssystem32;C:Windows"


Den pågældende DLL er tilgængelig i 'C: \ extlibs'. Et par observationer er, at når jeg placerer DLL'en i 'C: \ Program Files \ Java \ jre6 \ bin', sporer mit program ikke om DLL'en (dvs. det læser det), men jeg skal passe på mange andre DLL'er også.


Kan nogen kaste lys over denne adfærd? forresten kan jeg heller ikke regne ud hvor eclipse vælger C: \ Program Files \ Java \ jre6 \ bin og tilføjer til java.library.path? det er ikke en del af systemets sti-miljøvariabel.

Bedste reference


Den rigtige måde at tilføje native biblioteker i formørkelse på er som vist nedenfor. Gå til 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


Indtast billedbeskrivelse her