Javaw仍然创建一个控制台窗口; 为什么是这样?

Luf*_*uft 5 java console jython javaw

我的游戏引擎是Jython和Java的组合所以我正在执行一个jar以及一个python脚本而不是一个类文件.

java -jar Jython.jar init.py
Run Code Online (Sandbox Code Playgroud)

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

Jav*_*a42 3

我不认为 JavaConsole 是 java.exe 与 javaw.exe 的功能。区别在于 java.exe 将 stdout 和 stderr 写入 SystemConsole,而 javaw.exe 运行时不将 stdout 和 stderr 写入 SystemConsole。运行 java.exe 将被阻止,因为它已连接到 SystemConsole。运行 javaw.exe 会将控制权返回给启动的 SystemConsole(或脚本),并在没有 SystemConsole 的情况下继续运行。

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

从java控制面板

从任务栏 java 图标