問題
私は自分のMacで単体テストを実行しようとしています。テストはLinuxサーバーで正常に実行されますが、次のトレースでローカルに失敗します。
java.lang.UnsatisfiedLinkError: no fedel_client in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1758)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1045)
....
私が試したこと
.soサーバーからファイルをコピーします
fedel_client.soサーバーから/workspace/dapper/java/lib/native/macosxローカルマシンにコピーし、 java.library.path:に追加しました。
-Djava.library.path=/workspace/dapper/java/lib/native/macosx:...
シンボリックリンクを作成する
Javaが前者(拡張子なし)を探している場合に備えて、からfedel_clinetへのシンボリックリンクを作成しました。fedel_clinet.so.so
.soディレクトリを.bashrcに追加します
.so次の場所にディレクトリを追加してみましたPATH:
PATH=$PATH:/Users/adamatan/workspaces/trunk/dapper/java/lib/native/macosx
そしてLD_LIBRARY_PATH:
export LD_LIBRARY_PATH="/Users/adamatan/workspaces/trunk/dapper/java/lib/native/macosx"
印刷するjava.library.path
java.library.pathEclipse環境での変更がJVMに伝播されたかどうかを確認するために、印刷しました。
System.out.println(System.getProperty("java.library.path"));
そして得た:
/workspace/dapper/java/lib/native/macosx:....
Eclipse構成に配置した正確な値。
アイデアをデバッグしますか?
前述のすべてのソリューションでまったく同じエラーが発生しました。この問題をデバッグする方法はありますか?Javaからより詳細なエラーメッセージを受け取ることはできますか?ファイルが見つからないか、ロードされていませんか?ロードされていない場合、それはなぜですか?