Jbuilder2005を利用してます。

統合環境で実行した場合は何の問題もなく実行できるのですが、
ネイティブ実行可能ファイルで作成したEXEを実行するとException in thread ”main” java.lang.UnsatisfiedLinkError: no Hogehoge in java.library.path
となってしまい実行できません。

hogehogeにはclasspathも通しているつもりなのですが・・・
確認の方法も含めてお尋ねいたします。
よろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/03/08 15:25:25
  • 終了:--

回答(1件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982005/03/08 15:31:27

ポイント40pt

http://java-house.jp/ml/archive/j-h-b/026646.html

[JavaHouse-Brewers:26646] JNI $B$N(BUnsatisfiedLinkError

>$JDK_HOME/jre/lib/i386/ の下に libfoo.so をコピーしてみる。

としたら いかがでしょうか?

http://java-house.jp/ml/archive/j-h-b/026662.html#body

[JavaHouse-Brewers:26662] Re: JNI $B$N(BUnsatisfiedLinkError

  • id:TONTON3
    解決しました。

    ご回答頂いたようにパスが違うという結果でした。

    オラクルも入っていたため、オラクルのJDKが優先で実行されていたようです。
    環境設定からオラクルのJDKのパスを解除したところ
    BorlandのJDKが使用されるようになりました。

    そこで自作のDLLを
    C:¥Borland¥JBuilder2005¥jdk1.4¥jre¥bin
    JARファイルを
    C:¥Borland¥JBuilder2005¥jdk1.4¥jre¥lib
    にコピーしたところ正常に動作するようになりました。

    パスは間違えなく通っていたが使用するJDKが異なっていた。
    コピーする場所が異なっていたためだということが解りました。

    また、統合環境で下記コードを試したところと
    System.out.print(System.getProperty(”java.library.path”) + ”¥n” );
    System.out.print(System.getProperty(”java.class.path”) + ”¥n”);

    実行ファイルを実行した結果が違うということも解りました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません