0
我尝试在一个java库(例如project A
)中包含一个本地库(一个linux共享库myLib.so
),该库使用maven打包到jar中。我将本地库作为资源添加到jar(在jar中的顶层)。加载罐子附带的JNA库
现在我尝试在另一个项目中使用这个库(project B
)。当我通过Java库调用对象的方法时,它找不到该库。
在项目BI呼叫类似
org.projectA.MyObject.initLib();
MyObject
从project A
需要访问libarary:
public static void initLib() {
MyLib lib = (myLib) Native.loadLibrary("myLib.so"),MyLib.class);
}
所以,我可以出货的共享库与我的罐子或做我需要使用解决方法如获取资源作为流并将其首先写入文件系统?
JNA提供了从jar文件解压并写入磁盘的方法。请参见['Native.extractFromResourcePath()'](http://java-native-access.github.io/jna/4.2.1/com/sun/jna/Native.html#extractFromResourcePath-java.lang.String-) 。 – technomage