Launch4J可执行文件未按预期执行

时间:2014-11-28 15:56:54

标签: java exe launch4j

工具: Win 7,Launch4J 3.5,简单的Hello world Java控制台应用程序(捆绑在JAR文件中)

大家好,

我有一个基本的JAVA控制台应用程序,它不会请求任何输入,只是一个打开控制台窗口并显示Hello World文本的简单应用程序。

我构建它非常简单,所以我可以试用Launch4J 3.5并从jar文件中构建一个可执行文件。

一切看起来都很好,exe构建成功但是当我启动它没有任何反应时,我得到小时玻璃几秒钟然后没有。我检查了任务管理器,那里没有任何进程。

在Launch4J中查看我的设置,我只填写了基础知识,我在 Wrapper清单字段中尝试使用和不使用条目:

输出文件: C:\ Development \ SFDC \ ProjectX \ out \ exe \ ProjectX.exe

Jar: C:\ Development \ SFDC \ ProjectX \ out \ artifacts \ ProjectX_jar \ ProjectX.jar

包装清单: C:\ Launch4j \ manifest \ uac.exe.manifest(也试过留空)

其余的都是默认设置。

3 个答案:

答案 0 :(得分:1)

如果通过启动你的意思是双击它,不 - 你看不到任何事情会发生;你必须'告诉'Java用相关的控制台运行你的应用程序。为此,您可以创建一个新的.bat文件:只需打开文本编辑器并插入以下行:

java -jar NAME.jar

其中“NAME”是您的应用程序的名称。将文本文件保存为.bat格式,而不是.txt,并将其放在与应用程序相同的目录中。您可以通过双击该文件来启动应用程序。

它没有弹出你的任务管理器的原因是因为可能(我不知道)你的应用程序只打印出一条简单的消息而不再做任何事情。在非控制台模式下,它只会调用您的print(println或任何其他控制台)方法,而不会产生任何视觉效果,因为没有控制台可以打印消息。但是,在这两种情况下,如果您只打印某些内容并且不执行其他“最后”操作,例如侦听输入,则程序将在主方法结束时终止。

答案 1 :(得分:0)

您可能需要在控制台模式下使用launch4j,请参阅以下答案:lauch4j hello world program

答案 2 :(得分:0)

是。您确实需要使用控制台模式。 您还需要一些保持控制台窗口打开的方法,因为它会在程序终止时关闭控制台。如果确实需要,请使用scan.nextLine();Thread.sleep(i)