【问题标题】:Why am I getting java.lang.UnsatisfiedLinkError: no jnisgfplib in java.library.path even though IntelliJ shows no compilation errors, and how to fix?为什么我得到 java.lang.UnsatisfiedLinkError: no jnisgfplib in java.library.path 即使 IntelliJ 显示没有编译错误,以及如何修复?
【发布时间】:2020-08-16 11:08:50
【问题描述】:

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

    lib = new JSGFPLib();

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

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

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

【问题讨论】:

    标签: java macos intellij-idea import libraries


    【解决方案1】:

    此 Java 库具有特定于操作系统的本机依赖项。

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

    另一个选项是在运行/调试配置的 VM 选项 字段中指定 -Djava.library.path=<dir> 属性,其中 dir 是包含您操作系统的本机库的目录。

    IntelliJ IDEA 还可以在添加到 module dependencies 时自动识别原生依赖项,并在运行时为您配置 -Djava.library.path

    【讨论】:

      猜你喜欢
      • 2012-12-11
      • 2010-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-09
      • 2021-02-24
      • 2013-04-27
      相关资源
      最近更新 更多