0

ここに私の問題があります-私は安らかなサーバーを作成しました.JNI機能を使用してプロジェクトのネイティブCファイルの関数を呼び出すように変更しました.

現在、私のプロジェクトには 2 つのクラスがあります。

  1. HelloJNI.java - Hello.c クラスの関数を正常に呼び出すことができます (Java アプリケーションとして実行した場合)。
  2. Server.java - これは安らかなサーバーであり、サーバーを実行して関連コンテンツを表示するとうまく機能します。しかし、Server.java に HelloJNI.java のオブジェクトを作成しようとすると、以下のエラーが表示されます。

    javax.servlet.ServletException: java.lang.UnsatisfiedLinkError: no
    hello in java.library.path
    

ここで hello は、HelloJNI.java で JNI を機能させるために作成した共有ファイル オブジェクトです。

Eclipse は、HelloJNI.java を実行した場合にのみ libhello.so ファイルを識別できますが、Server.java の場合は識別できません。

libhello.so ファイル パスをネイティブ ライブラリの場所に追加しました。

プロジェクト -> プロパティ -> Java ビルド パス -> JRE システム ライブラリ

Server.java から HelloJNI.java を呼び出す Java パスを設定する方法を教えてもらえますか。

Ubuntu 12.04でEclipseを使用しています。

4

0 に答える 0