2016-04-27 4 views
0

Wenn ich eine .jar mit dieser Befehlszeile ausführen (es ist ein Befehl in einem Skript gefunden):Unterschied zwischen diesen beiden Befehlszeilen zum Ausführen von .jar?

./MyJar.jar AUTO 

Ich habe diese Fehler:

./MyJar.jar: 1: ./MyJar.jar: PK: not found 
./MyJar.jar: 2: ./MyJar.jar:: not found 
./MyJar.jar: 3: ./MyJar.jar: ��H: not found 
./MyJar.jar: 4: ./MyJar.jar:: not found 
./MyJar.jar: 5: ./MyJar.jar: Ant-Version:: not found 
./MyJar.jar: 6: ./MyJar.jar: Syntax error: "(" unexpected 

Aber wenn ich mit dieser Befehlszeile ausführen, es funktioniert:

java -jar MyJar.jar 
  1. Meine erste Frage lautet: „Was zwischen diesen beiden Befehlszeilen ist der Unterschied“
  2. Meine zweite Frage ist: "Warum kann ich MyJar.jar nicht mit der ersten Befehlszeile ausführen?"
+1

Warum verwenden Sie nicht Google, um zu finden, wie man JAR-Dateien ausführt? Jar ist keine ausführbare Datei. Es ist nur Java-Archiv und benötigt Java-Luncher zu laufen. Deshalb brauchen Sie zuerst den Java-Befehl. – mariusz2108

+0

Nun, eigentlich funktioniert die erste Befehlszeile auf einer Kollegenmaschine, aber nicht auf meiner. Ich möchte wissen warum. Ich habe nichts über den ersten Befehl bei Google gefunden. – bam500

+0

Lesen [Wie man eine JAR-Datei Linux ausführbar macht] (https://coderwall.com/p/ssuaxa/how-to-make-a-jar-file-linux-executable) – Andreas

Antwort

1

Ich habe die Antwort auf meine zweite Frage gefunden. Um der Lage sein, mein Glas auf diese Weise auszuführen:

./MyJar.jar AUTO 

Ich muss das binfmt-Support-Paket installieren:

sudo apt-get install binfmt-support 

Wie zu diesem Thema erwähnt: https://askubuntu.com/a/291514

1

normalerweise, wenn eine Datei versucht, direkt von Linux Terminal-Datei Header-Informationen ausführen sollte von OS identifiziert werden. zum Beispiel:

#!/bin/bash 
echo "Hello World" 

oder

#!/usr/bin/python 
print "Hello World" 

Sie OS von/bin/bash-Interpreter und 2. verstehen sollte, ist Python-Interpreter ausgeführt werden erste Skript sehen.

Es scheint OS nicht unter verstehen, wie Sie Ihre ./MyJar.jar Datei ausführen. aber jar kann Ihren Dateiinhalt direkt verstehen

+0

Vielen Dank @FariZ für Sie zu antworten. Du hast auf meine erste Frage geantwortet! – bam500

Verwandte Themen