【问题标题】:Issue in accessing jacob-1.18-x86.dll at run time在运行时访问 jacob-1.18-x86.dll 的问题
【发布时间】:2018-09-08 14:06:03
【问题描述】:

解决 jacob-1.18-x86.dll 的问题,在运行时无法访问 我可以成功编译程序了。

SEVERE: Servlet.service() for servlet dispatcher threw exception
    java.lang.UnsatisfiedLinkError: no jacob-1.14.3-x64 in java.library.path
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
        at java.lang.Runtime.loadLibrary0(Runtime.java:870)
        at java.lang.System.loadLibrary(System.java:1122)
        at com.jacob.com.LibraryLoader.loadJacobLibrary(LibraryLoader.java:184)
        at com.jacob.com.JacobObject.<clinit>(JacobObject.java:108)

Maven 依赖是:

<dependency>
    <groupId>net.sf.jacob-project</groupId>
    <artifactId>jacob</artifactId>
    <version>${jacob.version}</version>
</dependency>

<dependency> 
    <groupId>net.sf.jacob-project</groupId> 
    <artifactId>jacob</artifactId> 
    <version>1.14.3</version> 
    <classifier>x64</classifier> 
    <type>dll</type> 
</dependency> 

【问题讨论】:

  • jacob-1.14.3-x64 真的在java.library.path 中吗?
  • 标记为“maven-dependency”,格式化代码

标签: java maven servlets jacob maven-dependency


【解决方案1】:

您是否已将 JACOB .dll 文件放入您的运行时库路径中? 例如。在文件夹中:

/Java/jdk/jre/bin

/Java/jdk/jre/lib/ext/jacob-1.18

【讨论】:

  • C:\Program Files\Java\jdk1.8.0_162\jre\bin
  • 是的,我这样做并检查了我仍然遇到同样的错误
  • java.lang.UnsatisfiedLinkError:java.lang.Runtime 的 java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) 的 java.library.path 中没有 jacob-1.14.3-x64。 loadLibrary0(Runtime.java:870) at java.lang.System.loadLibrary(System.java:1122) at com.jacob.com.LibraryLoader.loadJacobLibrary(LibraryLoader.java:184) at com.jacob.com.JacobObject。(JacobObject.java:108) 在 com.jacob.com.LibraryLoader.loadJacobLibrary(LibraryLoader.java:181) 在 com.jacob.com.ComThread.(ComThread.java:167)
  • 非常感谢。我错过了添加 jacob-1.14.3-x64.ddl 和 jacob-1.14.3-x84.dll 两个
【解决方案2】:

现在,当我添加以下文件时它已解决:

jacob-1.14.3-x64.ddl 和 jacob-1.14.3-x84.dll

文件夹内:

/Java/jdk/jre/bin 和 /Java/jdk/jre/lib/ext

【讨论】:

    【解决方案3】:

    我已经设法通过在System.getProperty("java.library.path") 的第一个文件夹中添加jacob-1.19-x64.dll 文件来解决我的问题。

    只需system.out 属性并复制文件夹中的.dll 文件。

    【讨论】:

      【解决方案4】:

      并非总是可以将 dll 添加到 java.library.path 中的文件夹。希望此解决方案对其他人有所帮助。

      在查看source code for loading the dll 之前,我曾为此苦苦挣扎。在调用 Jacob 库中的任何方法之前添加以下代码。这将指示 Jacob 从指定路径加载 dll,而不是查看 java.library.path。

      System.setProperty("jacob.dll.path", "/path/to/your/jacob/jacob-1.18-x86.dll");

      适用于 1.20 版。但也应该适用于旧版本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-08
        相关资源
        最近更新 更多