我在Intellij上设置了一个Java Application,到了代码编译和运行的程度。然而,当调用其中一个本地库时,我得到的是 java.lang.UnsatisfiedLinkError: no jnisgfplib in java.library.path
,在行。
lib = new JSGFPLib();
其中导入的是 JSGFPLib()
看起来 import SecuGen.FDxSDKPro.jni.*;
这是项目结构的样子,注意没有编译错误,我高亮显示的导入指的是左边的目录,其中包含了 JSGFPLib
.
为什么我会收到这个错误,我如何解决它?我在Mac上运行这个程序,它应该能够运行Linux Java Apps,因为Java是基于JVM的。
这个Java库有本地的依赖关系,这些依赖关系是操作系统特有的。
你需要这些依赖关系(本地库)在系统中是可用的。PATH
环境。
另一个选择是指定 -Djava.library.path=<dir>
中的财产 虚拟机选项 字段的RunDebug配置,其中 dir
是包含您的操作系统的本地库的目录。
IntelliJ IDEA也可以自动识别本地依赖项,当它们被添加到 模块依赖性 并将配置 -Djava.library.path
为你跑步时。