2014-02-18 177 views
0

我已经创建了一个基于控制台的jar程序。为了能够运行它jarfile.jar或通过点击它,我进入注册表编辑器并从[...]javaw.exe[...][...]java.exe[...]编辑HKEY_CLASSES_ROOT> jarfile> shell>打开>命令>(默认)。它的工作,但不是马上 - 我不得不改变默认程序,然后改变它几次,并与它一堆(我不记得确切)。这种方法有两个缺点:一个,不能用控制台运行的可执行jar文件现在有一个,这很烦人;两个,如果我想公开发布这个程序,每个想使用它的人都必须做同样的事情,或者用 java -jar jarfile.jar运行它。用javaw控制台窗口?

因此,我想知道是否有一种方法来编辑jar的主类来打开它自己的控制台窗口,它不会被javaw.exe阻塞,这样我就可以用javaw运行jar文件。我在想像openConsoleWindow(); outputTo(theNewWindow()); inputFrom(theNewWindow());

回答

0

纠正我,如果我错了 - 你想不使用命令行启动你的.JAR文件?我不知道有任何方法可以通过打开jar来做到这一点,但是您始终可以创建一个脚本,它将为您执行命令行任务,这只需要打开即可。那还是一种形式的发射器。

+0

这是可能的,但默认情况下它由javaw.exe打开,它不显示控制台窗口,并使用java.exe打开它有我在OP中描述的缺点,所以我正在寻找一种方法来创建java代码中的一个控制台窗口,希望在运行javaw时不会被阻止。我宁愿只能直接运行jar而不是脚本。 – Blrp

+0

@Blrp另一个解决方案可能是如果你的程序检测到java或javaw是否已经被使用,并且当你使用javaw时,它会使用'cmd.exe/c start java parameters_go_here'重新启动以获取控制台窗口 – masterX244