2013-02-17 30 views
5

我的游戏引擎是Jython和Java的组合,所以我正在执行jar和python脚本,而不是类文件。Javaw仍然创建一个控制台窗口;为什么是这样?

java -jar Jython.jar init.py 

但是,当我将“java”更改为“javaw”时,它并不像通常那样隐藏控制台。为什么是这样的,有没有办法解决它?

+4

只是一个猜测:是你的'java' /'javaw'命令在一个批处理文件,本身就是负责控制台线路? – zigg 2013-02-17 02:58:23

+0

好吧,它运行的是批处理文件,但这是我执行代码的唯一方法,所以如果这就是为什么它不会工作,那么我会坚持下去。 – Luft 2013-02-17 03:03:22

+0

我刚刚从cmd而不是批处理文件测试它,问题依然存在。想法? – Luft 2013-02-17 03:05:40

回答

3

我不认为JavaConsole是java.exe vs javaw.exe的函数。不同之处在于java.exe有stdout & stderr写入SystemConsole,javaw.exe运行时没有stdout和stderr写入SystemConsole。运行java.exe将被阻塞,因为它连接到SystemConsole。运行javaw.exe会将控制权返回到启动SystemConsole(或脚本)并继续在没有SystemConsole的情况下运行。

使用任务栏上的java控制面板或java图标禁用Java控制台。

from the java control panel

from the task bar java icon

相关问题