gpt4 book ai didi

java - 运行导出的 .jar 时,"Native code library failed to load"在 IDE 之外

转载 作者:行者123 更新时间:2023-12-02 09:48:28 26 4
gpt4 key购买 nike

如标题所述,我的程序无法在 Eclipse 之外启动。我导入了一个由 xy.jar 和 xy_jni.dll 组成的库

jar 文件文件夹内的 CMD:

java -jar myprogramm.jar

后面是语句:

“ native 代码库加载失败。请添加 xy 文件夹作为 native 库的位置。java.lang.UnsatisfiedLinkError:java.library.path 中没有 xy_jni

导出 jar 文件时单击提取或打包资源并不重要。

还在项目设置、Java 构建路径、库下添加 .jar 和 xy_jni(.dll),并且在库中的所有可扩展文件中,“xy-folder”设置为“Native”图书馆位置”。另外,在库下,我添加了一个名为“xy-folder”的“添加库”,抑制 .jar 和 xy_jni.dll

使用文件查看器打开最终导出的 jar 文件时,xy 文件夹仅包含在 xy_jni.dll 中,xy.jar 位于根文件夹中。

我做错了什么?预先非常感谢您!

最佳答案

jar 文件中分发 dll/so/dylib 并不容易。原因是您在加载库时依赖于系统。

通常,库必须放置在文件系统的某个位置。这样,它们就由 System.loadSystem.loadLibrary 加载。

您可以使用简单的解决方案来解决此问题。您所要做的就是将 native 代码提取到某个位置并从那里加载它。

在此处查看与从 JAR 加载库相关的完整示例:

https://github.com/mkowsiak/jnicookbook/tree/master/recipes/recipeNo035

关于java - 运行导出的 .jar 时,"Native code library failed to load"在 IDE 之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56482208/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com