1

解决 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> 
4

4 回答 4

4

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

/Java/jdk/jre/bin

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

于 2018-03-30T12:35:25.657 回答
1

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

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

里面的文件夹:

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

于 2018-04-02T09:34:01.817 回答
0

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

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

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

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

于 2021-09-08T23:39:16.020 回答
0

我已经设法通过将jacob-1.19-x64.dll文件添加到System.getProperty("java.library.path").

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

于 2019-01-23T10:09:47.237 回答