【问题标题】:Include external library jars in jar to mac .app conversion在 jar 到 mac .app 转换中包含外部库 jar
【发布时间】:2017-06-01 21:36:42
【问题描述】:

如果这个问题放错了,我很抱歉,但考虑到它是关于 jars 和 Java 的,我认为它可能最接近我的主题。

我有一个我制作的 Java 程序,这个程序我将分发给 Mac 和 Windows。为了在 Windows 上执行此操作,我使用了 Launch4j,它可以正常工作。现在的问题是,当我尝试将 jar 转换为 Mac 的 .app 时,它不起作用,该应用程序只是打开然后立即关闭。我想这是因为当使用 Appmaker 转换为 Mac .app 时,它不包括我用于该程序的外部库。因此,我现在想知道如何将外部库添加到 .app 文件中,就像我在 .exe 上所做的那样,我刚刚将带有所有外部库 jar 的 .lib 文件夹添加到 .exe 所在的文件夹中在。 我尝试将 .lib 文件夹添加到为 .app 文件创建的内容文件夹中,但这不起作用,我还尝试将其添加到 .app 文件中的 ressource 文件夹中。

我自己发现的一个选项是将所有外部库和实际程序 .jar 文件合并为一个。这似乎非常困难,如果它可以以另一种方式包含,我真的不需要它只是一个组合的.jar。

【问题讨论】:

    标签: java macos jar file-conversion


    【解决方案1】:

    不确定 Appmaker,但可以做类似 uber jar 之类的事情,即包含所有类的单个 jar,基本上将所有 jar 解压缩到一个 signle 文件夹,然后再次将它们 jar。

    不确定您使用什么来构建,但 maven 有一个 maven shade plugin 可以做到这一点。

    【讨论】:

    • 非常感谢您的反馈和投入,我正在使用 Netbeans 构建实际程序,它具有一些 GUI 功能。如果我像你说的那样制作一个 uber jar,当我构建实际程序时,我只需要转到 dist 文件夹,然后解压缩实际程序 jar 和所有外部 jar,然后我将如何组合它再来一罐?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 2012-09-28
    • 1970-01-01
    • 2011-09-18
    • 2014-09-27
    相关资源
    最近更新 更多