Konsolenausgabe erscheint nicht, bei Distribution als *.jar

Hubivan

Mitglied
Hallo,

Ich habe ein kleines Java-Programm geschrieben, dass den Inhalt einer Datenbanktabelle auswerten soll und dabei einige Ausgaben auf der Konsole macht und ein Logfile erstellt.

Das ganze Programm habe ich jetzt mittels Ant zu einem *jar Archiv gepackt.
Führe ich das Programm jetzt in der Konsole aus, läuft das Programm durch erstellt das logfile aber die Konsolenausgaben werden nicht ausgegeben.

Die Konsolenausgaben mache ich wie gewohnt mit
System.out.println("Hallo Welt");
(Nur ein Beispiel, den Text den ich tatsächlich ausgebe kann ich euch nicht verraten.
Achja, starte ich das Programm aus Eclipse heraus, werden die Ausgaben auf der Konsole wie erwartet auch gemacht.

Was ist da los? Hat jeman ne Idee was da schief läuft?
 
Moin!
Und wenn du das ganze mit
java -jar meinprog.jar par1 par2

startest?
Falls das funktioniert, gehe mal zu "Extras->Ordneroptionen->Dateitypen" und schaue nach, wie jar-Archive da gestartet werden. Ich tippe mal auf den Befehl "javaw". Dieser unterdrückt nämlich die Bildschirmausgabe. Denn solltest du auf "java" ändern..

*grüssle*
MeinerEiner
 
Moin!
Und wenn du das ganze mit
java -jar meinprog.jar par1 par2
startest?

So funktioniert es. Danke!


Falls das funktioniert, gehe mal zu "Extras->Ordneroptionen->Dateitypen" und schaue nach, wie jar-Archive da gestartet werden. Ich tippe mal auf den Befehl "javaw". Dieser unterdrückt nämlich die Bildschirmausgabe. Denn solltest du auf "java" ändern..

Das hilft leider nicht :(
Aber immerhin funktioniert jetzt eine Variante :)
 
MeinerEiner hat recht: sieh Dir die Verknüpfungsoptionen von JAR-Dateien genau an und Du wirst sehen, dass diese mit javaw.exe gestartet werden - genau das passiert wenn Du über die Konsole lediglich die JAR-Datei angibst (und nicht diese als Parameter für java.exe). Ändere javaw.exe in java.exe um und das Konsolenfenster bleibt Dir erhalten und Du siehst somit die Ausgaben.
 
Ich hab mir jetzt eine Batch Datei gebastelt, die das Programm mit java.exe und den entsprechenden Parametern aufruft, damit klappt es jetzt ganz gut.

Danke für die Tips!
 
Hallo,

mein Problem ist ähnlich, vielleicht könnt ihr mir helfen.

Ich möchte durch Doppelklick, auf eine selbstausführbare Jar-Datei, ein Programm in der CMD Konsole starten. Das Programm ist ganz einfach, man kann Zeichen über Tastatur auf der Konsole eingeben und die gleichen Zeichen werden auf der Konsole wieder ausgegeben. Wenn ich die .class-Datei manuell über die Konsole starte, funktioniert das auch alles, jedoch nicht wenn ich die JAR-Datei starte. Ich vermute, es muss der Code erweitert werden, dahingehend, dass vielleicht eine Öffnungsanweisung für die Konsole eingebaut wird****?

Vorneweg: Ich möchte keine batch-Datei verwenden, sondern die Konsole soll rein durch eine Java Anweisung aus dem Jar-Archiv geöffnet und das kleine i/o-Programm ausgeführt werden.

Würde mich freuen, wenn mir jemand helfen könnte.

Grüße!
 
Womit hast du denn die jar-Datei erstellt? Du benötigst innerhalb des Archivs (eine jar Datei ist im Prinzip eine zip-Datei) eine Manifest-Datei, welche unter anderem angibt, in welcher Klasse die Main-Methode zu finden ist.
 
Zurück