我正在将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的子目录?
答案 0 :(得分:1)
当我过去在Linux上完成JNI时,我已将.so文件与应用程序捆绑在一个特定的JNI库目录中。然后将其添加到运行应用程序的JVM实例的LD_LIBRARY_PATH环境变量中。
所以我要说的是没有真正的约定(除了系统范围内的Linux lib目录)。
希望有所帮助。