正如标题中所述,我的程序不会在Eclipse之外启动。我导入了一个由xy.jar和xy_jni.dll组成的库
jar-file文件夹中的CMD:
java -jar myprogramm.jar后面紧跟以下语句:
"Native code library failed to load. Please add the xy-folder as location for native libraries. java.lang.UnsatisfiedLinkError: no xy_jni in java.library.path
在导出jar-file时,单击extract或package ressource都无关紧要。
同样在Project-Settings, Java Build Path, Libraries下,添加了.jar & xy_jni(.dll),并且在库中的所有可扩展项中,"xy-folder“被设置为”本地库位置“。另外,在库下面,我添加了一个名为"xy-folder“的”添加库“,以禁止.jar & xy_jni.dll
当使用文件查看器打开最终导出的jar文件时,xy文件夹仅包含在xy_jni.dll中,xy.jar位于根文件夹中。
我做错了什么?非常感谢您的提前!
发布于 2019-06-07 06:05:08
在jar文件中分发dll/so/dylib并非易事。这里的原因是,当涉及到加载库时,您依赖于系统。
通常,库必须放在文件系统中的某个位置。通过这种方式,它们由System.load和System.loadLibrary加载。
您可以使用simple solution来解决此问题。您所要做的就是将本地代码提取到某个位置并从那里加载它。
请在此处查看与从JAR加载库相关的完整示例
https://github.com/mkowsiak/jnicookbook/tree/master/recipes/recipeNo035
https://stackoverflow.com/questions/56482208
复制相似问题