Ich habe ein Programm, das aus zwei einfachen Java Swing-Dateien besteht.
Wie erstelle ich eine ausführbare JAR-Datei für mein Programm?
java
jar
executable-jar
Ruben
quelle
quelle
Antworten:
Eine JAR-Datei ist einfach eine Datei, die eine Sammlung von Java-Dateien enthält. Um eine JAR-Datei ausführbar zu machen, müssen Sie angeben, wo sich die
main
Klasse in der JAR-Datei befindet. Beispielcode wäre wie folgt.public class JarExample { public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { // your logic here } }); } }
Stellen Sie Ihre Klassen zusammen. Um ein Glas zu erstellen, müssen Sie auch eine Manifest-Datei (
MANIFEST.MF
) erstellen . Zum Beispiel,Manifest-Version: 1.0 Main-Class: JarExample
Legen Sie die kompilierten Ausgabeklassendateien (JarExample.class, JarExample $ 1.class) und die Manifestdatei im selben Ordner ab. Wechseln Sie in der Eingabeaufforderung zu dem Ordner, in dem sich Ihre Dateien befinden, und erstellen Sie das jar mit dem Befehl jar. Zum Beispiel (wenn Sie Ihre Manifestdatei als jexample.mf benennen)
Es wird eine ausführbare Datei jarexample.jar erstellt.
quelle
jar cvfe jarexample.jar com.example.jar.JarExample *.class
In Eclipse können Sie dies einfach wie folgt tun:
quelle
Hier steht es in einer Zeile:
jar cvfe myjar.jar package.MainClass *.class
Wo
MainClass
ist die Klasse mit Ihrermain
Methode undpackage
istMainClass
das Paket.Beachten Sie, dass Sie Ihre
.java
Dateien zu.class
Dateien kompilieren müssen, bevor Sie dies tun.c create new archive v generate verbose output on standard output f specify archive file name e specify application entry point for stand-alone application bundled into an executable jar file
Diese Antwort wurde von Powerslaves Kommentar zu einer anderen Antwort inspiriert.
quelle
Error: Could not find or load main class mtx.testClass Caused by: java.lang.ClassNotFoundException: mtx.testClass
testClass
in einer Ihrer.class
Dateien definiert? Stellen Sie sicher, dass Sie Ihre source (.java
) - Dateien kompiliert haben, bevor Sie diesen Befehl ausführen. Außerdem sollte Ihre Klasse normalerweise UpperCamelCase sein. Versuchen SieTestClass
stattdessen, sie umzubenennen .Wenn Sie maven verwenden, fügen Sie Ihrer pom.xml- Datei Folgendes hinzu :
<plugin> <!-- Build an executable JAR --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <archive> <manifest> <mainClass>com.path.to.YourMainClass</mainClass> </manifest> </archive> </configuration> </plugin>
Dann kannst du rennen
mvn package
. Die JAR-Datei befindet sich unter im Zielverzeichnis .quelle
Für diese Frage ist es zu spät. Aber wenn jetzt jemand nach dieser Antwort sucht, habe ich es geschafft, ohne Fehler zu laufen.
Stellen Sie zunächst sicher, dass Sie maven herunterladen und dem Pfad hinzufügen . [
mvn --version
] gibt Ihnen Versionsspezifikationen davon, wenn Sie den Pfad korrekt hinzugefügt haben.Fügen Sie nun dem Maven-Projekt [
pom.xml
] folgenden Code hinzu, und ersetzen Sie ihn im folgenden Code durch Ihren eigenen Einstiegspunkt für die Hauptdatei, z. B. [ com.example.test.Test ].<plugin> <!-- Build an executable JAR --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <archive> <manifest> <mainClass> your_package_to_class_that_contains_main_file .MainFileName</mainClass> </manifest> </archive> </configuration> </plugin>
Gehen Sie nun
CMD
in Ihrem Projekt zur Befehlszeile [ ]mvn package
und geben Sie ein. Dadurch wird eine JAR-Datei wieProjectName-0.0.1-SNAPSHOT.jar
unter generierttarget
Verzeichnis .Navigieren Sie nun in das Zielverzeichnis durch
cd target
.Geben Sie schließlich ein
java -jar jar-file-name.jar
und ja, dies sollte erfolgreich funktionieren, wenn Sie keine Fehler in Ihrem Programm haben.quelle