双击JRE时,在控制台中运行可执行的JAR

我正在将用C ++编写的简单控制台应用程序移植到Java中,以显示语言的相似程度以及如何移植代码。 我使用Eclipse导出了程序的可执行JAR。 这些JAR在使用java –jar命令运行时工作正常。 但是,从Windows资源pipe理器(双击)执行时,它们不能正常运行。 控制台窗口只是打开和closures迅速。

到目前为止唯一的解决scheme是使用batch file。 还有其他的select吗?

有一些选择:

  1. 程序完成后稍微休息一下,以便读取输出。
  2. 调用System.in.read() (再次在程序的末尾),这将等待,直到你键入一个字符,并命中输入。
  3. 创建你自己的小摆动终端,当应用程序代码完成时,它不会关闭。

这似乎是从命令行和注册表中使用的jre不一样(安装多个JRE时可能会发生这种情况)

你有没有检查你的Windows注册表什么是JRE用于运行可执行文件的jar? 您可以在Sun的网站上找到更多关于注册表设置的信息

在我看来,你的主类甚至没有被执行。 这将解释控制台窗口的快速打开/关闭。

或者有可能比java另一个程序有“jar”文件类型? 安装诺基亚软件后,发生在我身上。

使用批处理文件似乎是我最好的选择。 我想这就是为什么Eclipse有一个启动器。

将打开的程序更改为c:\ Program files \ java \ jre7 \ bin \ javaw.exe