【问题标题】:How to include libraries when creating .exe from .jar with exe4j使用 exe4j 从 .jar 创建 .exe 时如何包含库
【发布时间】:2018-01-16 16:12:44
【问题描述】:

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


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

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

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

显然它没有包含我所需的库。


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

【问题讨论】:

    标签: java jar exe classnotfoundexception exe4j


    【解决方案1】:

    默认情况下,JAR 文件从文件系统添加到类路径中,其相对位置与向导中指定的相同,因此可执行文件将无法单独运行。

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

    【讨论】:

    • aah 现在我明白了,我必须在我的类路径旁边添加多个 .jar 作为存档,它标有红点,现​​在它可以工作了!跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-16
    • 1970-01-01
    • 2012-06-17
    • 1970-01-01
    • 2015-09-17
    • 1970-01-01
    相关资源
    最近更新 更多