Différence entre java.exe et javaw.exe


143

Récemment, j'ai noté que certaines applications fonctionnent sur javaw(pas dans java). Quelle est la différence entre eux et comment puis-je exécuter mon application Swing javaw?


1
Question similaire et bonne réponse ici: stackoverflow.com/a/8194750/99717 . Notez que la question y pose également sur javaws.exe, donc pas techniquement un doublon ...
Hawkeye Parker

Réponses:


75

java.exe est la commande dans laquelle il attend la fin de l'application jusqu'à ce qu'il prenne la commande suivante. javaw.exe est la commande qui n'attendra pas la fin de l'application. vous pouvez continuer avec d'autres commandes.


2
javaw.exe ne montre pas non plus la sortie de la console youtube.com/watch?v=AQUAyJYwJ6Q 0:57 i.imgur.com/TGsm45f.png
barlop

1
Cette réponse est incorrecte. javaw.exe n'attendez que le finalise du programme. Il peut être utilisé en toute sécurité dans le cadre d'un script par exemple, et il attendra. Toutefois, lorsque vous démarrez manuellement des programmes non-console à partir de , le n'attendra pas et retournera immédiatement à l'invite de commande. Essayez-le avec vs.batcmd.execmd.exenotepad.exeping 8.8.8.8
Codeguard

115

java.exeest l'application console tandis que l'application javaw.exeWindows est (sans console). Vous ne pouvez pas avoir Consoleavec javaw.exe.


4
J'ajouterai que "l'application console" ici ne signifie pas nécessairement que "cela a été exécuté à partir d'une console", seulement cela java.exeest autorisé à accéder à sa console. L'exécution d'une applet à partir d'un navigateur sous Windows, par exemple, utilise toujours java.exemême si mon panneau de configuration Java est défini sur Masquer la fenêtre de la console ou même Ne pas démarrer une fenêtre de console .
Ti Strga

La réponse suivante me semble meilleure et contient des références de documentation Java: stackoverflow.com/a/8194750/99717
Hawkeye Parker

40

La différence réside dans le sous - système ciblé par chaque exécutable.

  • java.exe cible le CONSOLEsous système.
  • javaw.execible le WINDOWSsous - système.

13

La commande javaw.exe est identique à java.exe, sauf qu'avec javaw.exe il n'y a pas de fenêtre de console associée


6
Techniquement plus correct: avec javawil n'y a pas de console associée . La fenêtre n'est pas nécessairement créée (par exemple, lorsque vous exécutez à partir d'une fenêtre de console existante ou complètement en arrière-plan).
Joey
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.