如何在使用exe4j从.jar创建.exe时包含库

时间:2018-01-16 16:12:44

标签: java jar exe classnotfoundexception exe4j

我编写了一个Java FX工具,它连接到.accdb数据库并从中创建了一个可执行的JAR文件,该文件非常有效。在JAR文件的同一文件夹中,我有几个JAR库,我需要这些库才能连接到我的数据库。

现在我想用exe4j从可执行JAR创建一个可执行文件(.exe)。为此,在步骤" Java调用","高级选项"下,我添加了一个包含这些必需库的文件夹作为"库目录"。

我现在运行生成的.exe并且我的应用程序打开了,但是当我尝试连接到我的数据库时(通过单击我的应用程序中的按钮)它不起作用我得到了这个例外:

  

java.lang.ClassNotFoundException:net.ucanaccess.jdbc.UcanaccessDriver

很明显,它未能包含我所需的库。

除了我的实际可执行JAR之外,我究竟如何继续在exe4j中包含多个JAR库?

1 个答案:

答案 0 :(得分:0)

默认情况下,JAR文件被添加到文件系统的类路径中,其具有与向导中指定的相同位置,因此可执行文件不能单独运行。

exe4j具有“EXE中的JAR”模式,其中类路径中的所有JAR文件都打包到可执行文件中。资源文件无法以这种方式打包。如果您需要JAR文件以外的资源(如DLL),则必须使用常规模式并将可执行文件与所有支持文件一起发送。

相关问题