无法使用双击打开.jar,仅使用cmd

我使用Eclipse Indigo创建了一个非常简单的程序,并将其作为可执行jar导出到我的桌面。 如果我使用命令“java -jar SayHello.jar”,程序会运行,但是如果我双击桌面上的SayHello.jar,我的鼠标就会得到旋转的轮子,看起来好像是在加载东西,但是轮子就转了离开,什么都没发生。 每个jar文件都会发生这种情况,而不仅仅是这个。 我已经搜索了几个小时如何解决这个问题,但没有任何效果。 任何帮助将不胜感激。 谢谢!

对于Windows上的 Java(您实际没有指定),双击.jar文件时的默认操作(如您javaw是使用javaw JVM(“GUI”模式)以及代码写入System.out任何内容运行它。被丢弃了。 java JVM确实输出到控制台窗口,但如果该窗口是通过双击创建的,则一旦代码退出就会消失,就像你找到的那样。

注意.jar (在HKCR\jarfile\shell\open\command )的“关联”必须是

 "(YOUR_JREDIR_usually_progfiles-arch-jre-version)\bin\javaw.exe" -jar "%1" %* 

或者用于控制台的java.exe ,无论是哪种情况都使用 -jar 。 我不相信控制面板会正确地设置额外的标志参数,这将导致“无法找到主类”。

一个包含java -jar myjar批处理文件然后在doubleclicked时pause应该运行该类,当它退出时等到你在销毁窗口之前按任意键。 您可以使用timeout numseconds来限制等待。

增加: 双击JAR文件无法打开命令提示符有另一种方法可以防止控制台窗口消失:使用cmd /s /k而不是批处理文件。