Why am I getting java.lang.UnsatisfiedLinkError: no jnisgfplib in java.library.path even though IntelliJ shows no compilation errors, and how to fix?

Why am I getting java.lang.UnsatisfiedLinkError: no jnisgfplib in java.library.path even though IntelliJ shows no compilation errors, and how to fix?

我在 Intellij 上设置了一个 Java 应用程序来编译代码和 运行s。但是,当调用其中一个本机库时,我得到 java.lang.UnsatisfiedLinkError: no jnisgfplib in java.library.path,在线:

    lib = new JSGFPLib();

JSGFPLib() 的导入看起来像 import SecuGen.FDxSDKPro.jni.*;

这是项目结构的样子,注意没有编译错误,我突出显示的导入是指左侧包含 JSGFPLib 的目录。

为什么我会收到此错误消息以及如何解决?我 运行 在 Mac 上安装它,它应该能够 运行 Linux Java 应用程序,因为 Java 是基于 JVM 的。

此 Java 库具有 OS 特定的本机依赖项。

您需要这些依赖项(本机库)在系统 PATH 环境中可用。

另一种选择是在 Run/Debug 配置的 VM 选项 字段中指定 -Djava.library.path=<dir> 属性,其中 dir包含 OS.

的本机库的目录

IntelliJ IDEA 还可以在添加到 module dependencies 时自动识别原生依赖,并在 运行.

时为您配置 -Djava.library.path