Ich versuche, Java-Konsolenanwendung zu schreiben, der Code ist ziemlich einfach:
%Vor% Wenn ich diese Anwendung von Eclipse aus starte, dann sehe ich " test
" in Eclipse "Console", aber wenn ich meine App als "cmd.exe
, dann wird der Konsole nichts zurückgegeben.
Auf der sicheren Seite habe ich versucht, System.console()
zu überprüfen, es gibt null
zurück.
Was kann falsch sein?
Wie liegst du dein Programm außerhalb von Eclipse?
Sie sollten eine Befehlszeile wie
verwenden java -jar yourjar.jar
oder
java -cp yourjar.jar ConsoleTest
Wenn Sie gelegentlich javaw
verwenden, wird keine Konsolenausgabe erstellt. Der STDOUT von javaw
ist null
. Wahrscheinlich passiert das, wenn Sie auf Ihre JAR-Datei klicken.
Sie müssen Ihre JAR-Datei über die Befehlszeile ausführen.
Wenn Sie darauf doppelklicken, sehen Sie nicht, dass die Befehlszeilenoperationen im Hintergrund ausgeführt werden. Jar-Dateien werden normalerweise nur mit Doppelklick ausgeführt, wenn sie eine GUI enthalten.
Um eine JAR-Datei von einer Eingabeaufforderung aus auszuführen, tun Sie Folgendes:
%Vor%Angenommen, Sie haben Umgebungsvariablen für java.exe festgelegt, und das aktuelle Verzeichnis enthält die jar-Datei.
Wenn das nicht funktioniert, ist es wahrscheinlich nicht Ihr Fehler. Es besteht auch die Möglichkeit, dass die Manifestdatei, die auf die Main-Klasse verweist, falsch eingerichtet wurde.
Sie müssen den java jdk installieren und den Stamm des Verzeichnisses, das die Datei java.exe enthält, zu den Verzeichnissen Ihres Systems hinzufügen. Weitere Informationen finden Sie in der Installationsanleitung des jdk.
und führen Sie die Datei in der Konsole mit dem Befehl
aus %Vor%