【发布时间】:2016-04-05 22:47:33
【问题描述】:
我已经编译了一个在我的 Mac OS 机器上运行良好的 Java 应用程序 (JAR)。它使用 JNI 调用已编译的 C-Shared 库并使用 jnr-ffi 加载该本机代码。
我收到一堆错误,这些错误源于 jnr-ffi 尝试初始化。看起来应该有一些 jni 文件应该作为 Java 安装的一部分存在于系统上,但它们不存在。
我无法逐字复制堆栈跟踪,但这里有一些错误应该会有所帮助:
Exception in thread "main" j.l.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.provider
Another unsatisfied link error below: /tmp/...gibberish..so cannot open shared object file: no such file or directory.
Another unsatisfied link error: Can't load library: /usr/lib/libjffi-1.2so
基本上是一堆与加载本机代码有关的错误。
我提取了我试图运行的 JAR 也是毫无价值的,它包含一堆文件夹,如 arm-Linux、Darwin、i386-Linux 和文件 libjffi-1.2.so 所以看起来就像 JAR 中存在的文件一样,但在运行时,jave 无法找到它们。
我不知道如何解决这个问题,但它在我的另一台机器上运行。如何解决?
我已尝试使用sudo 运行。
【问题讨论】:
标签: java