无法将库添加到Eclipse项目 - UnsatisfiedLinkError

时间:2015-03-28 00:20:30

标签: 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

单击新库并按“添加JAR”

找到jacob.jar并单击确定

展开库(小+)并单击Native Library位置并添加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)

我还需要做些什么才能让它发挥作用?谢谢你提前帮忙。

1 个答案:

答案 0 :(得分:1)

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

此外,对于loadLibrary(),您指定库的基本名称,而不是末尾的.dll。因此,对于/path/to/something.dll,您只需使用System.loadLibrary(&#34;&#34;)。

See this (Mac example)