Frage

Ich habe diese Klasse:

public class Test {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

Und ich verwenden Eclipse "Export to runnable JAR" -Funktion in eine ausführbare jar-Datei (test.jar) zu machen. Wenn ich dieses Programm in Eclipse ausführen, druckt es aus „Hallo Welt!“, Aber wenn ich die jar-Datei von der Kommandozeile aufrufen, geschieht nichts.

Ich habe versucht, die jar-Datei wie folgt aufrufen:

test.jar
test.jar -jar

Es gibt keinen Ausgang auch immer.

ich ein anderes Programm, das auch eine Nebenwirkung hat (zusätzlich zur Ausgabe auf stdout) und während der Nebenwirkung durchgeführt wird (was sagt mir die Glas-Datei wurde auf jeden Fall ausgeführt), wieder keine Ausgabe auf den Befehl gegeben Linie. Ich habe auch mit Stderr versucht, aber das macht keinen Unterschied. Weiß jemand, wie ich diese Arbeit machen kann?

Danke!

War es hilfreich?

Lösung

Sie müssen run die JAR mit

java -jar test.jar

(Ihr JRE Binärordner zu PATH um hinzugefügt werden muss, um den Befehl zu erhalten von jedem Ort aus arbeiten)

Hinweis: Ich weiß, dass Sie die JAR mit Eclipse erstellt, aber Sie könnten wissen wollen, wie funktioniert eine ausführbare Datei JAR Werke

Andere Tipps

Die bisherigen Antworten sind richtig, so dass ich nur ein bisschen das „ausführbare jar“ Konzept klären. Es gibt nicht so etwas wie eine „ausführbare jar“, äquivalent zu einer EXE-Datei in Fenster, in einem „ausführbare jar“ Sie werde den „Eintritt“ Punkt Angabe (Ihre Hauptklasse möchten Sie standardmäßig ausgeführt werden)

Ein Glas ist im Grunde nur ein Archiv, Sie noch Java benötigen, um tatsächlich das Glas zu starten (java -jar your.jar)

Die Tatsache, dass in den Fenstern können Sie eine Verbindung mit javaw.exe haben bedeutet, wird dies durch das Betriebssystem gestartet werden, wenn Sie auf dem Glas doppelklicken, wie eine .txt-Datei automatisch mit Notepad geöffnet wird, ist es nicht machen die .txt eine ausführbare Datei.

Überprüfen Sie dieses heraus auch: JAR-Dateien aufgedeckt

Wenn Sie rufen Sie das Gefäß mit ‚test.jar‘ dem Starten der App wird die registrierten Java-Handler für JAR-Dateien übergeben, die im Zusammenhang mit der Kommandozeile nicht ausgeführt.
Der Standard-jar-Handler nicht geöffnet Konsolen-System. {Out, err} Datei-Handles, wie es ein cmd-Stil Fenster für jede der JAR-Dateien gestartet bedeuten würde, die keine ideale Situation ist.
Die vorherige Antwort, mit java -jar test.jar verursacht es im Rahmen der aktuellen cmd Fenster läuft, und so werden Sie die Ausgabe.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top