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

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

废话不说先贴出错误提示

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 移到最前面。得,问题解决。

 

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