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

标签 java console jython javaw

<分区>

我的游戏引擎是 Jython 和 Java 的组合,所以我执行的是 jar 和 python 脚本而不是类文件。

java -jar Jython.jar init.py

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

最佳答案

我不认为 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。

from the java control panel

from the task bar java icon

关于Javaw 仍然创建一个控制台窗口;为什么是这样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14917524/

相关文章:

java - 如何在 GAE 开发服务器中将 Wicket 应用程序安装在/* 处?

Java Spring : JUnit Hamcrest: Expecting Collection

ruby - 如何在 Ruby (Windows) 中获取/设置控制台光标位置

java - 从 mule esb 向主程序传递参数

ODI 中 Java Beanshell 的 Jython 变量

java - 从 jython 调用具有可变长度参数(varags)的 Java 方法

java - Spring/RestTemplate-将实体放置到服务器

java - 构建 jar 上的 file.listFiles() NullPointerException

java - 如何从 Java 读取命令行输出(通过 Runtime.getRuntime().exec(...))

javascript - console.log 中出现奇怪的变量未定义错误