Eine kleine Hilfe von euch allen ... Ich habe versucht, ein einfaches Java-Programm in ein Glas zu konvertieren, aber nichts scheint passiert zu sein. Ich habe 2 Dateien: Tester.java, Tester.Class. Dann habe ich diese Befehlszeile verwendet:
jar -cvf Tester.jar Tester.class
Die .jar-Datei wurde erstellt, aber nichts scheint zu funktionieren. Was habe ich vermisst?
Um das Programm in der von Ihnen erstellten JAR-Datei auszuführen, müssen Sie
ausführen %Vor%Eine bequemere Möglichkeit, das jar auszuführen, ist
%Vor%Dies erfordert jedoch, dass Sie die Hauptklasse in einer Manifestdatei angeben, die in der jar-Datei enthalten sein sollte:
Setzen Sie
%Vor%in manifest.txt
Und um das Glas zu erstellen:
%Vor% Wie Matthew Flaschen kommentiert geantwortet , Sie müssen eine "manifest file" in Ihrem Jar haben, die Main-Class
header enthalten sollte, die darauf hinweisen, welche Hauptklasse im jar ausgeführt werden soll. Die Antwort von aioobe veranschaulicht perfekt den einfachsten Weg zu mach das.
Aber anstatt das immer "manuell" zu tun, würde ich empfehlen, dass Sie sich ein Build-Tool anschauen, beispielsweise Apache Ant (oder Maven , aber das ist wahrscheinlich ein bisschen schwieriger zu beginnen), die sehr häufig sind verwendet, um diese Art von Build-Sequenzen zu automatisieren.
Mit Ant würden Sie eine "buildfile" (am häufigsten mit dem Namen build.xml
) wie folgt erstellen:
Nun würde der Aufruf von ant build
Ihren Code kompilieren und ihn in "Tester.jar" verpacken, was auch den korrekten Typ des Manifest-Headers enthält, so dass Sie ihn mit java -jar Tester.jar
ausführen können. (Beachten Sie, dass in diesem Beispiel davon ausgegangen wird, dass sich Ihre Quellen im Verzeichnis "src" befinden, relativ zur Position, an der Sie den Befehl ausführen. Natürlich muss auch Ant installiert sein.)
Wenn Sie sich entschließen, Ant zu testen, wird das offizielle Handbuch von großem Nutzen sein (insbesondere die Liste der Ant-Aufgaben) "was z. B. zeigt, welche Optionen Sie bestimmten Aufgaben wie javac
oder %Co_de% ).
Wenn du zu spät kommen wolltest:
%Vor%Sie sollten diese Lerneinheit lesen.
Ihr Befehl erstellt eine JAR-Datei. Möglicherweise müssen Sie den Hauptklassen-Manifestheader festlegen.