java - 将库添加到 Eclipse 项目时出现问题 - UnsatisfiedLinkError

标签 java eclipse dll linker jacob

我正在尝试将 JACOB 库添加到我的一个 Java 项目中,以便我可以链接到 iTunes 并使用它做一些事情。

我已按照此链接中的说明进行操作: http://www.dreamincode.net/forums/topic/96304-how-to-add-dll-files-in-javalibrarypath/


它们是:

构建路径> 配置构建路径...

点击“添加库”按钮

选择“用户库”

下一步

单击“用户库...”按钮

点击“新建”

给它起一个名字“JACOB Library”——按 ok

单击新库并按“添加 Jars”

找到 jacob.jar 并单击确定

展开库(小 +)并单击 Native Library location 并添加 DLL 的位置。 (您可能还想附上 jacob 的源代码和 java 文档,因为这可能有助于您进行调试)。

按确定

选择库 -- 按芬兰语 -- 按 OK


程序在 eclipse 中编译和运行良好,但是当我将它导出到一个可运行的 JAR 文件时选择选项“将所需的库提取到生成的 JAR 中”它给我以下异常:

Exception in thread "Dummy Thread" java.lang.UnsatisfiedLinkError: no jacob-1.18-M2-x64 in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at com.jacob.com.LibraryLoader.loadJacobLibrary(LibraryLoader.java:184)
    at com.jacob.com.JacobObject.<clinit>(JacobObject.java:107)
    at Build.Test.process(Test.java:181)
    at Build.Test.listen(Test.java:226)
    at Build.DummyThread.run(DummyThread.java:29)
    at java.lang.Thread.run(Unknown Source)

我还需要做些什么才能让它发挥作用?感谢您提前提供帮助。

最佳答案

库(在 Windows 上是一个 DLL)必须位于 PATH 中某处的目录中或 java.library.path 系统属性中列出的路径中(以便您可以像 java -Djava.library.path=/路径/到/目录)。

此外,对于 loadLibrary(),您指定库的基本名称,末尾没有 .dll。因此,对于/path/to/something.dll,您只需使用 System.loadLibrary("something")。

See this (Mac example)

关于java - 将库添加到 Eclipse 项目时出现问题 - UnsatisfiedLinkError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29312187/

相关文章:

Java Eclipse PhoneGap。无法设置插件?

.net - 将 dll 部署到 GAC

delphi - 尝试加载库时出现 AccessViolation 异常

java - 字符是否在字符集中? Java 中 Web 服务的验证

java - 命令行参数。

java - 带扫描仪输入的二次公式

eclipse - 一台计算机上可以安装多个 Eclipse 吗?

java - 故障后如何正确重新定义/重启 Jet 的工作?

java - Eclipse:导入javacard无法解析

c# - 如何从 C++ dll 在 C# 函数中传递大小未知的数组?