2

JNI バインディングを C++ ライブラリと統合しています。

ライブラリは通常の規則に従います。インストール ルートは/usr/localデフォルトであり、--prefix引数 toで変更できます./configure.aまたは.soファイルが入ります${prefix}/lib。等

JNI バインディングは、libfoojni.so(ネイティブ部分) とlibfoo.jar(Java 部分) の 2 つの新しいライブラリを生成します。

このスキームの下で、これらのファイルを配置する従来の場所は何ですか (例: ${prefix}/java)?

ユーザーが別個の Java ルート ディレクトリ (例: /usr/share/java) を指定できるようにすることは望ましいですか?

libfoojni.soJava 固有のサブディレクトリに移動する${prefix}/lib必要がありますか?

4

1 に答える 1

1

過去に Linux で JNI を実行したとき、JNI ライブラリの特定のディレクトリにあるアプリケーションに .so ファイルをバンドルしました。次に、これを、アプリケーションを実行している JVM インスタンスの LD_LIBRARY_PATH 環境変数に追加します。

したがって、これには実際には規則はありません(システム全体のもののためのLinux libディレクトリを除いて)。

それが役立つことを願っています。

于 2009-01-14T10:12:14.950 に答える