Diferencia entre java.exe y javaw.exe

143

Recientemente noté que algunas aplicaciones se están ejecutando javaw(no en java). ¿Cuál es la diferencia entre ellos y cómo puedo ejecutar mi aplicación Swing javaw?

asela38
fuente
1
Pregunta similar y buena respuesta aquí: stackoverflow.com/a/8194750/99717 . Tenga en cuenta que la pregunta allí también se refiere a javaws.exe, por lo que técnicamente no es un duplicado ...
Hawkeye Parker

Respuestas:

75

java.exe es el comando donde espera a que se complete la aplicación hasta que tome el siguiente comando. javaw.exe es el comando que no esperará a que se complete la aplicación. puedes seguir adelante con otros comandos.

GuruKulki
fuente
2
no javaw.exe tampoco muestra la salida de la consola youtube.com/watch?v=AQUAyJYwJ6Q 0:57 i.imgur.com/TGsm45f.png
barlop
1
Esta respuesta es incorrecta. javaw.exe no espere hasta que se complete el programa. Se puede usar de forma segura como parte del .batscript, por ejemplo, y esperará. Sin embargo, cuando inicia manualmente programas que no son de consola cmd.exe, cmd.exeno esperará y volverá al símbolo del sistema inmediatamente. Pruébalo con notepad.exevsping 8.8.8.8
Codeguard
115

java.exees la aplicación de consola mientras que javaw.exees la aplicación de Windows (sin consola). No puedes tener Consolecon javaw.exe.

Chandra Patni
fuente
44
Agregaré que "la aplicación de consola" aquí no necesariamente significa que "esto se ejecutó desde una consola", solo que java.exese le permite acceder a su consola. Ejecutar un applet desde un navegador en Windows, por ejemplo, siempre se usa java.exeincluso si mi Panel de control de Java está configurado para Ocultar la ventana de la consola o incluso No iniciar una ventana de la consola .
Ti Strga
La siguiente respuesta me parece mejor y tiene referencias de documentación de Java: stackoverflow.com/a/8194750/99717
Hawkeye Parker
40

La diferencia está en el subsistema al que apunta cada ejecutable.

  • java.exeapunta al CONSOLEsubsistema.
  • javaw.exeapunta al WINDOWSsubsistema.
David Heffernan
fuente
13

El comando javaw.exe es idéntico a java.exe, excepto que con javaw.exe no hay una ventana de consola asociada

Chathuranga Chandrasekara
fuente
66
Técnicamente más correcto: con javawno hay una consola asociada . La ventana no se crea necesariamente (por ejemplo, cuando se ejecuta desde una ventana de consola existente o completamente en segundo plano).
Joey