如何解决在多模块Maven项目中使用JNI
正如标题所述,我想创建一个JNI多模块maven项目。
我的项目结构如下:模块A实现JNI,模块B依赖于A。 在设置 -Djava.library.path 并调用 System.loadLibrary()之后,A可以自己运行。我的问题是如何调用位于A中的方法(“ 全新安装”后为 JAR ,其中包含本机 dll )来自B?
我已经与使用JNI的库进行过多次合作,并且永远不需要手动设置本机位置。现在,我想创建自己的库,但我不知道如何。
关于该注释:有没有一种方法可以使用maven设置-Djava.library.path(或任何Java系统属性)?我已经尝试使用surefire插件,但这没有帮助。
谢谢!
//A.NativeInterfaceClass
public class NativeInterfaceClass {
static { System.loadLibrary("Native"); }
public native void test();
//testing purposes
public static void main(String[] args) {
new NativeInterfaceClass().test();
}
}
//B.DependentClass
import A.*;
public class DependentClass {
//real main method
public static void main(String[] args) {
new NativeInterfaceClass().test();
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。