2013-05-06 71 views
2

Launch4j似乎很容易设置,但在exe生成后,它不会从另一个位置运行。Launch4J exe仍然需要jar文件

用于创建启动器的jar文件仍然需要在同一文件夹中的EXE。

我以为它会包装在exe文件中的罐子,并可以从任何地方运行它?我之前用JSmooth完成了它,它运行良好。但是,Windows 7不支持JSmooth。

也无法找到任何适当的文件。

这里发生了什么问题。

感谢, 尚卡尔。

回答

0

您的简单方案适用于我。我需要填写的唯一选项是Output file,Jar和Min JRE版本。其他所有内容都保留为默认值。

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

0

如果我们谈论的是包含主类的JAR,那么这是配置:http://launch4j.sourceforge.net/docs.html#Configuration_file 你想设置什么是dontWrapJartrue,但是这是默认值,所以你不得不改变的东西,如果它不是在EXE中。当切换这个布尔值时,可以清楚地看到尺寸差异(例如,在我的情况下,没有JAR的情况下为40K,包含16K JAR的情况下为56.也可以在Total Commander中使用Ctrl + PgDn作为任何其他ZIP,如果它具有JAR包括在内)。

在使用POM文件时com.akathist.maven.plugins.launch4j:launch4j-maven-plugin插件的选项命名相同 - dontWrapJar。在这种情况下,jar选项必须指向构建的JAR(在目标中),因为它相对于EXE(并且都转到目标),在大多数情况下它只是JAR的名称。虽然JAR躺在EXE旁边,但没有必要运行EXE,可以将其删除以检查它。

这不告诉对此有其他的选择和其他依赖任何东西,如果你需要的一切EXE比你需要使用一些uberjar解决方案。