【问题标题】:Jacob.jar cannot find jacob-1.18-x86.dllJacob.jar 找不到 jacob-1.18-x86.dll
【发布时间】:2015-11-25 15:07:43
【问题描述】:

我正在尝试编写使用 autohotkey 的 Java 代码,特别是 autoitx4java 实现。我有进口商品

import java.text.SimpleDateFormat;
import java.util.Date;
import autoitx4java.AutoItX;

以及在构建路径中添加了 Jacob.jar、AutoItX4Java.jar 和 sqljdbc4.jar(sql jdbc 用于代码的其他部分)。由于不满意的链接错误,它无法编译:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jacob-1.18-x86 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:110)
    at autoitx4java.AutoItX.<init>(AutoItX.java:181)
    at MainTest.login(MainTest.java:126)
    at MainTest.setadmin(MainTest.java:181)
    at MainTest.runbasic(MainTest.java:21)
    at MainTest.main(MainTest.java:15)

我在 system32 文件夹中有jacob-1.18-x86.dll(Windows 8.1 是操作系统)以及jacob-1.18-x64.dlljacob-1.18-M3-x64.dll,以防万一它想使用 64 位 dll。我尝试从某个网站将C:/Windows/System32 添加到jacob.jar“本机库位置”(使用eclipse),但这没有用。其他一些站点建议将 dll 放在 C:\Program Files\Java\jre7\bin 文件夹中,所以我这样做了,但它仍然抛出错误。这段代码以前可以在不同的机器上工作,但现在由于不满意的链接而无法编译。我不知道应该把 jacob-1.18-x86 放在哪里才能找到它。

【问题讨论】:

  • 如果操作系统是 64 位,那么 32 位的 x86 dll 应该在 c:\windows\syswow64
  • 好的,这也有效。将不得不保留此信息以备后用。非常感谢!
  • 执行此操作时出现“无法从 progid 获取对象 clsid”,但我会提出一个新问题(必须等待 90 分钟)。

标签: java autohotkey jacob


【解决方案1】:

好吧,将它复制到“C:\Program Files (x86)\Java\jre1.8.0_65\bin”文件夹中,它就可以工作了。显然它只在那里寻找 jacob dll。

【讨论】:

  • 此解决方案有效可能是因为在环境变量中设置了 JAVA_HOME(JRE bin 文件夹)。因此,为了概括解决方案,我们需要在环境 PATH 变量中包含 DLL 的路径。
【解决方案2】:

使用 jre8 文件夹(如 "C:\Program Files (x86)\Java\jre1.8.0_65\bin")复制了应用程序下的 jacob-1.19-x64.dll 文件,它对我有用。

【讨论】:

    猜你喜欢
    • 2018-09-08
    • 1970-01-01
    • 2017-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多