让Jacob使用Java exe文件

时间:2016-01-11 22:56:39

标签: java windows jacob

我已经整理了一个程序,其中一个方法使用Jacob。当我在编译器中处理程序时,如果我将jacob-1.18-x64.dll文件放在与我正在处理的项目相同的文件夹中,我只能使Jacob库工作。这很好用,直到我尝试使用Launch4j将程序包装到.exe文件中。当我单击程序的。exe版本时,它会在到达使用Jacob的方法时抛出Exception in thread "main" java.lang.UnsatisfiedLinkError: no jacob-1.18-x64 in java.library.path错误。我知道问题是因为它无法找到库,但我不确定如何将此库连接到.exe文件。如何运行此.exe文件并包含Jacob库?正如我之前提到的,为了使程序在IDE中工作,我不得不将.dll移动到与项目相同的文件夹中。因此,我尝试使用.exe文件执行相同操作,但即使在同一文件夹中,它也不起作用。为了让这个工作,我还需要做些什么?

2 个答案:

答案 0 :(得分:0)

您必须在JVM命令行上设置java.library.path,如下所示:

java -Djava.library.path=jacob-1.18-x64.dll -cp your_class path YourMainClass

我建议首先从命令行中弄清楚这样运行,然后找出如何将完全正常工作的命令行正确转换为Launch4j。

答案 1 :(得分:0)

Jacob v1.18调用System.loadLibrary(dllname)加载DLL文件。 搜索规则基于系统属性java.library.path (小心,在JVM启动后更改它是无用的)

您可以查看this answer about changing Launch4j configuration