我有一个使用本机库的Java应用。当我导出可运行的JAR时,它工作正常,但是我必须将本机库放在可执行文件的同一文件夹中。
[由于它是一个本机库,因此不确定是否存在执行此操作的过程,但是,是否存在一种避免将库放入同一文件夹并将该lib嵌入可运行的JAR内的方法?
我使用Eclipse,而我用来启用本机库的成功工作过程如下(它可能对那些为解决此问题而苦恼的人有所帮助:]
要详细说明我在评论中指出的答案,可以在JAR内部署本机库。但是您必须在代码中提供此信息。您将必须以以下方式编写代码
getResourceAsStream()
给您的内容)load()
而不是loadLibrary
)在这里看看:https://github.com/mkowsiak/jnicookbook/tree/master/recipeNo031
这个想法很简单:
请注意,库通常是从文件系统加载的,因此无法从缓冲区加载它们。这就是为什么您必须创建临时位置的原因。