2

我正在将 JNI 绑定与 C++ 库集成。

该库遵循通常的约定:/usr/local默认情况下安装根目录,并且可以使用--prefix参数修改为./configure; .a.so文件进入${prefix}/lib;等等

JNI 绑定生成两个新库,libfoojni.so(本机部分)和libfoo.jar(Java 部分)。

在这种方案下,放置这些文件(例如${prefix}/java)的常规位置是什么?

允许用户提供一个单独的 Java 根目录(例如/usr/share/java)是否更可取?

应该libfoojni.so进入${prefix}/lib或进入一些特定于 Java 的子目录?

4

1 回答 1

1

过去在 Linux 上完成 JNI 时,我将 .so 文件与应用程序捆绑在 JNI 库的特定目录中。然后将其添加到运行应用程序的 JVM 实例的 LD_LIBRARY_PATH 环境变量中。

所以我想说这方面并没有真正的约定(除了用于系统范围的东西的 Linux lib 目录)。

希望有帮助。

于 2009-01-14T10:12:14.950 回答