让Jacob使用Java exe文件
我编写了一个程序,其中一个方法使用Jacob。当我在编译器中编写程序时,只有将让Jacob使用Java exe文件,java,windows,jacob,Java,Windows,Jacob,我编写了一个程序,其中一个方法使用Jacob。当我在编译器中编写程序时,只有将Jacob-1.18-x64.dll文件放在与我正在处理的项目相同的文件夹中,我才能使Jacob库工作。这很好,直到我尝试使用Launch4j将程序包装成.exe文件。当我单击程序的.exe版本时,它在线程“main”java.lang.UnsatifiedLinkError:no jacob-1.18-x64 in java.library.path中抛出一个异常。我知道问题是因为它找不到库,但我不确定如何将此库连接
Jacob-1.18-x64.dll
文件放在与我正在处理的项目相同的文件夹中,我才能使Jacob库工作。这很好,直到我尝试使用Launch4j将程序包装成.exe
文件。当我单击程序的.exe版本时,它在线程“main”java.lang.UnsatifiedLinkError:no jacob-1.18-x64 in java.library.path中抛出一个异常。我知道问题是因为它找不到库,但我不确定如何将此库连接到.exe
文件。如何运行此.exe
文件并包含Jacob库?如前所述,为了让程序在IDE中工作,我必须将.dll
移动到与项目相同的文件夹中。因此,我尝试对.exe
文件执行相同的操作,但即使在同一个文件夹中,它也不起作用。我还需要做什么才能让它工作 必须在JVM的命令行上设置java.library.path
,如下所示:
java -Djava.library.path=jacob-1.18-x64.dll -cp your_class path YourMainClass
我建议首先从命令行中找出这样运行的方法,然后找出如何将完全工作的命令行正确转换为Launch4j。Jacob v1.18 invokeSystem.loadLibrary(dllname)
以加载DLL文件。
搜索规则基于系统属性java.library.path
(小心,在JVM启动后更改它是无用的)
你可以查一下