0

JavaのSystem.loadLibrary( "name.dll");を介して単純な.dllをロードする際に問題が発生します。C:\ libraries \ name.dllにdllのコピーが1つと、system32フォルダーに別のコピーがあります。C:\librariesがパス環境変数に含まれていないことに注意してください。何らかの理由で、System.loadLibrary( "name.dll")を呼び出すと、次のようになります。

java.lang.UnsatisfiedLinkError: Can't load library: C:\libraries\name.dll
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1706)
    at java.lang.Runtime.load0(Runtime.java:770)
    at java.lang.System.load(System.java:1003)

C:\ librariesからname.dllを削除した後でも、同じエラーが発生します。System.loadがパスにない場所で.dllを見つけている理由はありますか?また、ファイルが削除された後もその場所を探しているのはなぜですか?

4

1 に答える 1

2

-Djava.library.pathを変更して、C:\librariesではなくsystem32を指すようにする必要があります。

于 2012-05-22T23:31:47.067 に答える