元のdllをロードするネイティブライブラリをロードしようとしています。ただし、XP 32ビットを実行している別のコンピューターでは、正常に動作します。win7 64ビットシステムで実行すると、ロードに失敗します。xpマシンでは、dllファイルはクラスファイルと同じディレクトリにある可能性がありますが、不満足なリンクエラーが発生しないように、ファイルをsystem32フォルダーにコピーする必要がありました。次に、32ビットdllを64ビットプロセスにロードできないことを示すエラーが発生しました。32ビットjdkをダウンロードし、プロジェクトでjdkを設定して32ビットjdkをロードしました。それが完了すると、再びUnsatisfied linkエラーが発生し、ファイルはまだsystem32にあり、クラスファイルの隣にあります。64ビットのjdkを使用しているときにライブラリが検出され、32ビットのjdkでは検出されない理由について、私は混乱しています。
...
static {
System.loadLibrary("K8055jni");
}
Exception in thread "main" java.lang.UnsatisfiedLinkError: no K8055jni in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:845)
at java.lang.System.loadLibrary(System.java:1084)
at K8055jni.<clinit>(K8055jni.java:50)
at Test.main(Test.java:4)
32ビットjdkで同じファイルを見つけるにはどうすればよいですか?