Mam program składający się z dwóch prostych plików Java Swing.
Jak utworzyć wykonywalny plik JAR dla mojego programu?
java
jar
executable-jar
Reuben
źródło
źródło
Odpowiedzi:
Plik jar to po prostu plik zawierający zbiór plików java. Aby plik jar był wykonywalny, musisz określić, gdzie
main
znajduje się klasa w pliku jar. Przykładowy kod wyglądałby następująco.public class JarExample { public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { // your logic here } }); } }
Skompiluj swoje zajęcia. Aby zrobić słoik, musisz również utworzyć plik manifestu (
MANIFEST.MF
). Na przykład,Manifest-Version: 1.0 Main-Class: JarExample
Umieść skompilowane pliki klas wyjściowych (JarExample.class, JarExample $ 1.class) i plik manifestu w tym samym folderze. W wierszu polecenia przejdź do folderu, w którym zostały umieszczone pliki, i utwórz jar za pomocą polecenia jar. Na przykład (jeśli nazwiesz swój plik manifestu jako jexample.mf)
Utworzy wykonywalny plik jarexample.jar.
źródło
jar cvfe jarexample.jar com.example.jar.JarExample *.class
W Eclipse możesz to zrobić w następujący sposób:
źródło
Tutaj jest w jednej linii:
jar cvfe myjar.jar package.MainClass *.class
gdzie
MainClass
jest klasa zmain
metodą ipackage
jestMainClass
pakiet „s.Pamiętaj, że przed wykonaniem tej czynności musisz skompilować swoje
.java
pliki do.class
plików.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
Ta odpowiedź zainspirowana komentarzem Powerslave na temat innej odpowiedzi.
źródło
Error: Could not find or load main class mtx.testClass Caused by: java.lang.ClassNotFoundException: mtx.testClass
testClass
zdefiniowany w jednym z twoich.class
plików? Upewnij się, że skompilowałeś swoje.java
pliki source ( ) przed uruchomieniem tego polecenia. Zwykle twoja klasa powinna być UpperCamelCase, możesz spróbować zmienić jej nazwę naTestClass
.Jeśli używasz maven, dodaj do swojego pliku pom.xml następujące polecenie :
<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>
Wtedy możesz biec
mvn package
. Plik jar zostanie umieszczony w katalogu docelowym .źródło
Na to pytanie jest już za późno. Ale jeśli teraz ktoś szuka tej odpowiedzi, udało mi się uruchomić ją bez błędów.
Przede wszystkim upewnij się, że pobierasz i dodajesz mavena do ścieżki . [
mvn --version
] poda specyfikacje wersji, jeśli poprawnie dodałeś do ścieżki.Teraz dodaj następujący kod do projektu maven [
pom.xml
], w poniższym kodzie zastąp własnym punktem wejścia do pliku głównego, np. [ 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>
Teraz przejdź do wiersza poleceń [
CMD
] w projekcie i wpisaćmvn package
i wygeneruje plik jar jako coś podobnegoProjectName-0.0.1-SNAPSHOT.jar
podtarget
katalogu.Teraz przejdź do katalogu docelowego według .
cd target
Na koniec wpisz
java -jar jar-file-name.jar
i tak, to powinno działać pomyślnie, jeśli nie masz żadnych błędów w swoim programie.źródło