ここに私の問題があります-私は安らかなサーバーを作成しました.JNI機能を使用してプロジェクトのネイティブCファイルの関数を呼び出すように変更しました.
現在、私のプロジェクトには 2 つのクラスがあります。
- HelloJNI.java - Hello.c クラスの関数を正常に呼び出すことができます (Java アプリケーションとして実行した場合)。
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を使用しています。