Unterschied zwischen java.exe und javaw.exe


143

Kürzlich habe ich festgestellt, dass einige Anwendungen ausgeführt werden javaw(nicht in java). Was ist der Unterschied zwischen ihnen und wie kann ich meine Swing-Anwendung ausführen javaw?


1
Ähnliche Frage und gute Antwort hier: stackoverflow.com/a/8194750/99717 . Beachten Sie, dass die Frage dort auch nach javaws.exe fragt, also technisch gesehen kein Duplikat ...
Hawkeye Parker

Antworten:


75

java.exe ist der Befehl, bei dem auf den Abschluss der Anwendung gewartet wird, bis der nächste Befehl ausgeführt wird. javaw.exe ist der Befehl, der nicht auf den Abschluss der Anwendung wartet. Sie können mit anderen Befehlen fortfahren.


2
nicht javaw.exe auch nicht Konsolenausgabe zeigen youtube.com/watch?v=AQUAyJYwJ6Q 00.57 i.imgur.com/TGsm45f.png
barlop

1
Diese Antwort ist falsch. javaw.exe ist , bis das Programm abgeschlossen ist warten. Es kann zum Beispiel sicher als Teil eines .batSkripts verwendet werden und wartet. Wenn Sie jedoch Nicht-Konsolenprogramme manuell starten cmd.exe, cmd.exewird der nicht warten und sofort zur Eingabeaufforderung zurückkehren. Versuchen Sie es mit notepad.exevsping 8.8.8.8
Codeguard

115

java.exeist die Konsolen-App, während javaw.exedie Windows-App (konsolenlos) ist. Sie können nicht haben Consolemit javaw.exe.


4
Ich werde hinzufügen, dass "die Konsolen-App" hier nicht unbedingt bedeutet, dass "dies von einer Konsole ausgeführt wurde", sondern nur, dass java.exeauf die Konsole zugegriffen werden darf. Das Ausführen eines Applets in einem Browser unter Windows wird beispielsweise immer verwendet, java.exeauch wenn meine Java-Systemsteuerung so eingestellt ist, dass das Konsolenfenster ausgeblendet wird oder sogar kein Konsolenfenster gestartet wird .
Ti Strga

Die folgende Antwort scheint mir besser zu sein und enthält Referenzen zur Java-Dokumentation: stackoverflow.com/a/8194750/99717
Hawkeye Parker

40

Der Unterschied besteht im Subsystem , auf das jede ausführbare Datei abzielt.

  • java.exe zielt auf die CONSOLESubsystem ab.
  • javaw.exezielt auf das WINDOWSSubsystem ab.

13

Der Befehl javaw.exe ist identisch mit java.exe, außer dass mit javaw.exe kein Konsolenfenster verknüpft ist


6
Technisch korrekter: Mit javawist keine Konsole verbunden . Das Fenster wird nicht unbedingt erstellt (z. B. wenn Sie von einem vorhandenen Konsolenfenster aus oder vollständig im Hintergrund ausgeführt werden).
Joey
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.