Ich habe ein Programm, das aus zwei einfachen Java Swing-Dateien besteht.
Wie erstelle ich eine ausführbare JAR-Datei für mein Programm?
Ich habe ein Programm, das aus zwei einfachen Java Swing-Dateien besteht.
Wie erstelle ich eine ausführbare JAR-Datei für mein Programm?
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)
jar cfm jarexample.jar jexample.mf *.class
Es wird eine ausführbare Datei jarexample.jar erstellt.
jar cvfe jarexample.jar com.example.jar.JarExample *.class
In Eclipse können Sie dies einfach wie folgt tun:
Klicken Sie mit der rechten Maustaste auf Ihr Java-Projekt und wählen Sie Exportieren .
Wählen Sie Java -> Ausführbare JAR-Datei -> Weiter.
Wählen Sie die Startkonfiguration und wählen Sie Projektdatei als Hauptklasse
Wählen Sie den Zielordner aus, in dem Sie ihn speichern möchten, und klicken Sie auf Fertig stellen.
jar cvfe myjar.jar package.MainClass *.class
Wo MainClass
ist die Klasse mit Ihrer main
Methode und package
ist MainClass
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.
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 Sie TestClass
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 .
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 wie ProjectName-0.0.1-SNAPSHOT.jar
unter generiert target
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.