欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于exe4j打包exe文件后 jacob.dll的报错,及解决办法

程序员文章站 2022-05-28 10:50:21
...

废话不说先贴出错误提示

java.lang.UnsatisfiedLinkError: no jacob in java.library.path...

看第一句话就知道在java.library.path中没有找到jacob。

前提:我在项目里运行没有问题,因为在system32底下和jdk/bin,都有放jacob.dll 。但是用exe4j打包后,报以上错误。exe4j绑定了自己的jre(有放jacob.dll)。

既然在java.library.path中没有找到jacob,那打印出java.library.path里的路径。

System.out.println(System.getProperty("java.library.path"));

(获得java系统信息的一个类,是私有的构造函数,所以它的函数都是静态的,可以直接调用,System.getProperty()函数根据参数返回一些系统信息)具体这个方法的参数可以在网上搜索。

然而发现,优先找到了e:java/jre7,原来是绑定jre时,优先级的问题。虽然指定了jre 但是并未被使用。怎么办呢,把绑定的jre 移到最前面。得,问题解决。

 

搜遍网络未找到该问题解决办法。今天记录下来便于日后查看。本人的编写能力有限,解决问题的思路描述的不够清晰。如你看到敬请见谅。