いくつかの JNI フックを C++ ライブラリに書き込み、Java サーバー プロジェクト用にいくつかの DLL ファイルを作成しました。DLL ファイルと jar ファイルが「C:/server」の下の同じフォルダーにあるとします。
以下を使用してこれらの DLL ファイルにアクセスしています。
System.loadLibrary("someDLLFile");
C++ コードを必要とするクラスで。
私が直面している問題は、このサーバーを自分のマシンで実行すると、「サーバー」フォルダーの場所に関係なく、すべてが正常に機能することです。しかし、同僚にテストしてもらうと、次のような結果が得られます。
java.lang.UnsatisfiedLinkError no someDLLFile in java.library.path
DLL ファイルを jar ファイルと同じフォルダーに配置したいのですが、誰かに PATH 変数を構成させたくないのです。
System.loadLibrary() がフォルダーの場所に関係なく自分のマシンでは機能するのに、別のコンピューターでは機能しないのはなぜですか?