2012-01-24 7 views
1

Mon programme Java échoue avec l'erreur suivante sur Windows.Eclipse (Helios) ne parvient pas à charger la DLL

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) 

J'ai essayé différentes choses comme

  • ajouter l'emplacement de DLL à la variable d'env chemin système
  • réglage emplacement de DLL explicitement dans le programme ci-dessous

     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 Je vois est montré ci-dessous.

"Lib Path: C:\extlibs;C:\Program Files\Java\jre6\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows" 

La DLL en question est disponible dans "C: \ extlibs". Un couple d'observation est que quand je place la DLL dans "C: \ Program Files \ Java \ jre6 \ bin", mon programme ne crèche pas sur la DLL (c'est-à-dire qu'elle la charge) mais je dois prendre soin de beaucoup d'autres DLLs aussi.

Quelqu'un peut-il faire la lumière sur ce comportement? par ailleurs, je ne suis pas non plus capable de comprendre d'où eclipse est en train de choisir C: \ Program Files \ Java \ jre6 \ bin et d'ajouter à java.library.path? cela ne fait pas partie de la variable d'environnement de chemin du système.

Répondre

1

La manière correcte d'ajouter des bibliothèques natives dans eclipse est la suivante. Aller à 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

+0

Merci beaucoup. Ça m'a aidé. – Shyam

+0

Mais je ne peux ajouter qu'un dossier, pas le fichier .dll, n'est-ce pas? – DkAngelito

Questions connexes