На Windows Server у меня есть 2 вида процессов Java
java.exe
javaw.exe
В чем различия?
java.exe
всплывает окно консоли. javaw.exe
не.
Если вы ожидаете вывода текста, вам нужно использовать java.exe
. Если приложение открывает свое собственное окно (например, Eclipse), вы можете использовать javaw.exe
.
Java - это простой старый Java-интерпретатор, который работает в окне DOS (поэтому у вас все время открыто окно консоли).
Javaw - это оболочка для Java, которая не открывает консольное окно (и я думаю, перенаправляет stdio, stdout и stderr в NUL)
От - http://www.neuber.com/taskmanager/process/javaw.exe.html
"Команда javaw.exe идентична команде java.exe, за исключением того, что с javaw.exe нет связанного окна консоли. Это означает, что вы не можете заставить ее отображать версию с параметром -version, так как нет консоли для ее отображения. on. Используйте javaw.exe, если не хотите, чтобы отображалось окно командной строки. Однако модуль запуска javaw.exe отобразит диалоговое окно с информацией об ошибке, если запуск по какой-либо причине завершился неудачей. "
Надеюсь это поможет.
Вы можете использовать javaw для приложения с графическим интерфейсом, т. Е. Java-приложения Swing или любого настольного Java-приложения или даже Java-сервиса, который не требует консольного вывода. использование javaw должно сделать приложение Java не режимом регистрации. Запустите приложение Java с java.exe, если вы отключите консоль, ваше приложение должно немедленно завершить работу. Но для челюсти это должно продолжаться. Вы должны убить его с помощью диспетчера задач.
У javaw.exe нет связанного с ним окна консоли (оболочки) в отличие от java.exe, вот и вся разница между ними.