【发布时间】:2014-12-26 10:27:59
【问题描述】:
我用 C 语言创建了一个库,并使用 JNI 从 Java 调用它,所以我有我的包和一个包含 libMYLIB.so 文件的 lib 文件夹。我从 Java 写作中回忆起来:
static{
System.loadLibrary("MYLIB");
}
如果我使用选项 -Djava.library.path=../lib 执行它,它运行良好。
但是我需要用我的包和 lib 文件夹创建一个 jar 文件;所以我做了它并导入到一个更复杂的项目中。
在大型项目中,可以看到并使用我的包的类,但在运行时 Java 无法加载 MYLIB。
是否可以告诉 Java 从 jar 文件中加载它?怎么样?
【问题讨论】:
-
好的,但是如果我想将它包含在 jar 文件中,有没有办法以编程方式将该路径添加到 library.path?
-
不是直接的,我们需要解压库。顺便说一句,JavaCPP 具有完全适合这种情况的功能。如果您愿意,我可以详细说明。
-
我很感兴趣...如果可以的话:)
标签: java c java-native-interface loadlibrary library-path