2010年11月23日火曜日

JNIにおけるUnsatisfiedLinkErrrorの事例

weblogic環境でJavaプログラムからJNIを使用してCプログラムを呼び出す際に以下のExceptionが発生。

    java.lang.UnsatisfiedLinkError: no Jni_Program in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)

loadLibraryでエラーが発生するということは、UNIXの場合においては
環境変数LD_LIBRARY_PATHにSOファイルのパスが入っていないことが想定される。

対応としては、上記環境変数にSOファイルのパスを定義するか、以下のようにJava起動オプションに追加をする。
java -Djava.library.path=/export/home/libJniProgram.so

0 件のコメント:

コメントを投稿