Java: System.out.println () sollte auf die Konsole schreiben, tut dies aber nicht

8

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 "" exportiert und sie von Windows aus laufe XP 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?

    
Dmitry Frank 01.05.2012, 17:07
quelle

6 Antworten

15

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.

    
AlexR 01.05.2012, 17:15
quelle
4

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.

    
EnKrypt 01.05.2012 17:14
quelle
2

Versuchen Sie, es über die Befehlszeile in eine Klasse zu kompilieren und dann auszuführen. Funktioniert das?

%Vor%     
ulu5 01.05.2012 17:12
quelle
1

Es besteht die Möglichkeit, dass Ihre ausführbare JAR-Datei nicht wie erwartet funktioniert und nicht Ihre ConsoleTest-Klasse ausführt.

    
rooftop 01.05.2012 17:10
quelle
0

Wie das, was Hovercraft Full Of Aels schrieb, kompiliere die .java-Datei mit cmd.exe mit dem folgenden Befehl:

%Vor%

Dann wird eine .class-Datei erstellt, und wir wollen sie mit diesem Befehl kompilieren:

%Vor%

Es sollte dann die "Test" Ausgabe anzeigen.

    
Chad 01.05.2012 17:13
quelle
-1

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%     
Karim Garram 01.05.2012 17:14
quelle

Tags und Links