Подобный вопрос и хороший ответ здесь: stackoverflow.com/a/8194750/99717 . Обратите внимание, что вопрос здесь также касается javaws.exe, поэтому технически не является дубликатом ...
Hawkeye Parker
Ответы:
75
java.exe - это команда, которая ожидает завершения работы приложения до следующей команды. javaw.exe - это команда, которая не будет ждать завершения приложения. Вы можете пойти дальше с другими командами.
Этот ответ неверен. javaw.exe действительно ожидает завершения программы. .batНапример, его можно безопасно использовать как часть сценария, и он будет ждать. Однако, когда вы вручную запускаете не консольные программы cmd.exe, cmd.exeони не будут ждать и сразу же возвращаются в командную строку. Попробуйте это с notepad.exevsping 8.8.8.8
Codeguard
115
java.exeявляется консольным приложением, в то время как javaw.exeявляется приложением для Windows (без консоли). Вы не можете иметьConsole с javaw.exe.
Я добавлю, что «консольное приложение» здесь не обязательно означает, что «это было запущено из консоли», только то, что java.exeразрешено получать доступ к его консоли. Например, java.exeпри запуске апплета из браузера в Windows всегда используется, даже если моя панель управления Java настроена на « Скрыть окно консоли» или даже « Не запускать окно консоли» .
Технически правильнее: с javawне связана консоль . Окно не обязательно создается (например, при запуске из существующего окна консоли или полностью в фоновом режиме).
Ответы:
java.exe - это команда, которая ожидает завершения работы приложения до следующей команды. javaw.exe - это команда, которая не будет ждать завершения приложения. Вы можете пойти дальше с другими командами.
источник
.bat
Например, его можно безопасно использовать как часть сценария, и он будет ждать. Однако, когда вы вручную запускаете не консольные программыcmd.exe
,cmd.exe
они не будут ждать и сразу же возвращаются в командную строку. Попробуйте это сnotepad.exe
vsping 8.8.8.8
java.exe
является консольным приложением, в то время какjavaw.exe
является приложением для Windows (без консоли). Вы не можете иметьConsole
сjavaw.exe
.источник
java.exe
разрешено получать доступ к его консоли. Например,java.exe
при запуске апплета из браузера в Windows всегда используется, даже если моя панель управления Java настроена на « Скрыть окно консоли» или даже « Не запускать окно консоли» .Разница заключается в подсистеме, на которую ориентирован каждый исполняемый файл.
java.exe
нацеливается наCONSOLE
подсистему.javaw.exe
нацеливается наWINDOWS
подсистему.источник
Команда javaw.exe идентична команде java.exe, за исключением того, что с javaw.exe нет связанного окна консоли
источник
javaw
не связана консоль . Окно не обязательно создается (например, при запуске из существующего окна консоли или полностью в фоновом режиме).