Windows で Java プログラムが次のエラーで失敗します。
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 の場所をシステムのパス環境変数に追加する
以下のようにプログラムで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 に追加している場所を特定することもできません。システムのパス環境変数の一部ではありません。