2013-02-17 10 views
5

Meine Spiel-Engine ist eine Kombination aus Jython und Java, so dass ich ein Jar zusammen mit einem Python-Skript anstelle einer Klassendatei ausführe.Javaw erstellt immer noch ein Konsolenfenster; Warum ist das?

Wenn ich jedoch "Java" zu "JavaW" ändere, versteckt es die Konsole nicht wie normalerweise. Warum ist das und gibt es einen Weg, um es zu umgehen?

+4

Nur eine Vermutung: Ihre 'java' /' javaw' Befehlszeile in einer Batch-Datei, die ich für die Konsole verantwortlich ist? – zigg

+0

Nun, es läuft eine Batch-Datei ab, aber das ist meine einzige Methode, den Code auszuführen. Wenn das deshalb nicht funktioniert, dann bleibe ich einfach dabei. – Luft

+0

Ich habe es gerade Cmd anstelle einer Batch-Datei getestet und das Problem bleibt bestehen. Ideen? – Luft

Antwort

3

Ich glaube nicht, dass die JavaConsole eine Funktion von java.exe gegen javaw.exe ist. Der Unterschied ist java.exe hat stdout & stderr schreibt in die Systemkonsole und javaw.exe läuft ohne stdout und stderr Schreiben in die Systemkonsole. Das Ausführen von java.exe wird blockiert, da es mit der Systemkonsole verbunden ist. Wenn Sie javaw.exe ausführen, wird die Steuerung an die startende Systemkonsole (oder das Skript) zurückgegeben und weiterhin ohne Systemkonsole ausgeführt.

Deaktivieren Sie die JavaConsole mit dem Java-Steuerfeld oder dem Java-Symbol in der Taskleiste.

from the java control panel

from the task bar java icon

Verwandte Themen