在java中自动打开cmd窗口

在java中自动打开cmd窗口,java,windows,cmd,Java,Windows,Cmd,我正在用java编写一个小程序,它在控制台上提示一些消息,并期望用户从中输入一些信息。现在我想做的是,当我将我的程序从eclipse导出为一个可执行文件.jar时,当你点击它启动程序时,它应该会打开一个cmd窗口。通常,作为一名开发人员,您已经通过cmd窗口启动了您的程序,所以您不需要这样做。但是,当我把我的程序发送给其他人时,我希望他们只需点击程序并继续。如何使程序在启动时打开cmd窗口?这取决于您的系统: 列表如下……只有您的操作系统可以在运行“默认”应用程序(java)之前决定启动“

我正在用java编写一个小程序,它在控制台上提示一些消息,并期望用户从中输入一些信息。现在我想做的是,当我将我的程序从eclipse导出为一个可执行文件.jar时,当你点击它启动程序时,它应该会打开一个cmd窗口。通常,作为一名开发人员,您已经通过cmd窗口启动了您的程序,所以您不需要这样做。但是,当我把我的程序发送给其他人时,我希望他们只需点击程序并继续。如何使程序在启动时打开cmd窗口?

这取决于您的系统:


列表如下……

只有您的操作系统可以在运行“默认”应用程序(java)之前决定启动“cmd windows”(包括Shell进程),以便在您通过双击“打开”此文档时运行文档类型(xxx.jar)

您说“通过双击”,因此您的目标平台包括一个窗口管理器==>为了实现与平台无关的输入/输出窗口,您最好编写一个“简单”的Swing用户界面,该界面将在所有经典的窗口平台上运行,无需任何额外设置(当然java本身除外)


如果您的目标操作系统是Linux,那么您可以构建一个SHELL,该SHELL在文件的顶部包含一个java启动器,在文件的底部包含一个内联的二进制jar(文件的SHELL部分使用它来启动java解释器)。这是一些linux安装程序使用的一种方法。在这种情况下,shell可以在“经典”窗口终端(gnome终端、xterm…)中“检测”可用的窗口终端,并启动一个窗口终端来包装java启动。。。但这比编写Swing应用程序要困难得多…

默认解决方案会很好。因此,如果有不同的解决方案,我可以实现它们中的每一个。正如在另一个答案中提到的,没有独立于系统的方式来启动您的应用程序。