【问题标题】:Launch4J exe still needs the jar fileLaunch4J exe仍然需要jar文件
【发布时间】:2013-05-06 03:23:48
【问题描述】:

Launch4j 的设置似乎很简单,但在生成 exe 后,它就无法从其他位置运行。

用于创建启动器的 jar 文件仍需要与 exe 位于同一文件夹中。

我认为它会将 jar 包装在 exe 中并可以从任何地方运行它?我以前用 JSmooth 做过这个,效果很好。但 JSmooth 在 Windows 7 上不再支持。

也找不到任何合适的文档。

这里出了什么问题。

谢谢, 尚卡尔。

【问题讨论】:

    标签: launch4j


    【解决方案1】:

    您的简单方案对我有用。我需要填写的唯一选项是输出文件、Jar 和 Min JRE 版本。其他一切都保留为默认值。

    将所有外部库打包到 JAR 中,而不是打包到生成的 JAR 旁边的文件夹中,这一点很重要。为此,请在导出可运行 JAR 时在 Eclipse 中选择“将所需库提取到生成的 JAR”选项。

    【讨论】:

      【解决方案2】:

      如果我们谈论的是包含主类的 JAR,那么这是可配置的:http://launch4j.sourceforge.net/docs.html#Configuration_file 您要设置的是 dontWrapJartrue,但这是默认值,因此如果它不在 EXE 中,您必须更改某些内容。切换此布尔值时,可以清楚地看到大小差异(例如,在我的情况下,没有 JAR 的 40K 和包含 16K JAR 的 56,同样在 Total Commander 中,如果它有 JAR,我可以使用 Ctrl+PgDn 像任何其他 ZIP 一样输入 EXE包括)。

      在使用 com.akathist.maven.plugins.launch4j:launch4j-maven-plugin 插件时,在 POM 文件中,该选项的名称相同 - dontWrapJar。在那种情况下,jar 选项必须指向构建的 JAR(在目标中),因为它与 EXE 相关(并且都指向目标)在大多数情况下它只是 JAR 的名称。当 JAR 位于 EXE 旁边时,无需运行 EXE,可以将其移除以进行检查。

      这并没有说明有其他选项的其他依赖项,如果您需要 EXE 中的所有内容而不是使用一些 uberjar 解决方案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-12-09
        • 1970-01-01
        • 2015-09-06
        • 1970-01-01
        • 2019-03-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多