2012-01-24 20 views
1

JavaプログラムがWindowsで次のエラーで失敗する。Eclipse(Helios)が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) 

私は

 String libpath = System.getProperty("java.library.path"); 
     libpath = "C:\\extlibs;" + libpath; 
     System.setProperty("java.library.path", libpath); 
     libpath = System.getProperty("java.library.path"); 
以下のようにプログラム内で明示的にDLLの場所を設定し、システムのPATH環境変数
  • にDLLの場所を追加

    • のような別のものを試してみました

      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あまりにも。

      誰でもこの現象を解明できますか?ところで、私はまた、C:\ Program Files \ Java \ jre6 \ binを選んでいて、eclipseがどこから選んでいるのか理解できず、java.library.pathに追加していますか?システムのパス環境変数の一部ではありません。

  • 答えて

    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

    enter image description here

    +0

    おかげでたくさんに移動します。それは助けになった。 – Shyam

    +0

    しかし、私はフォルダを追加することはできますが、.dllではなく、そうですか? – DkAngelito