2009-01-13 82 views
2

我正在将JNI绑定与C++库集成。默认安装本地Java库的位置?

该库遵循常规惯例:缺省情况下,安装根目录为/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特定的子目录?

回答

1

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

所以我想说这里没有真正的约定(除了系统范围内的Linux lib目录外)。

希望有所帮助。