Java 项目中的引用库只有在我指定它们在 IDE 中的位置时才能找到本机 dll

Referenced Library in Java Project only finds native dll when I specify where they are in IDE

我在 eclipse 中有一个使用本机库(两个 dll)的库。 dll 与 jar 位于同一文件夹中。当我运行应用程序出现错误时:

java.lang.UnsatisfiedLinkError: no xx in java.library.path

当我通过双击本机库位置 link 库时,运行 即可正常工作。但是,我不想必须这样做,我希望它无需通过 IDE 配置即可工作。我希望图书馆即插即用。

Q1: .jar 库引用的.dll 的约定位置在哪里?

问题 2:当有人在 eclipse 中引用我的库时,我如何确保它在没有进一步 IDE 配置的情况下工作?

错误清楚地解释了您的本机库不在 java.library.path

的默认位置

您只需将 属性 java.library.path 设置为存储所有本机库的文件夹。您可以通过在命令行 -Djava.library.path=C:/nativeLibs/

中给出参数来做到这一点

将您的库复制到 java.library.path

的默认位置

参考 Default Java library path? java.library.path

的默认位置