Je mehr Ihr mit intelliJ programmiert desto häufiger werdet Ihr externe Bibliotheken („Library“) benutzen. In diesem Artikel zeige ich Euch, wie Ihr diese zusammen mit Eurem Programm in ein einzige JAR-Datei verpackt und verteilt.
Für dieses Beispiel nutze ich die Joda-Time Bibliothek und Ihr könnt Sie Euch entweder aus meinem Github-Archiv oder aus dem Maven Repository https://mvnrepository.com/artifact/joda-time/joda-time herunterladen (letzteres präferiere ich, damit Ihr stets die aktuelle Version nutzt). Diese kleine Bibliothek zeigt Euch Datums-Strings mit dem Namen des Tages, Monats und viel mehr im gewählten Landesformat und in der Landessprache an.
Wie bekommt Ihr die JAR-Datei nun in das Programm „eingebaut“? Ihr kopiert die JAR-Datei (bei mir joda-time-2.10.5.jar) z.B. in das Projektverzeichnis. Wenn Eure Programme mehr Bibliotheken beinhalten oder Ihr ein lokales Repository anlegen möchtet könnt Ihr die JAR-Dateien natürlich auch in einem separaten Verzeichnis speichern.
Im Hauptmenü wählt Ihr „File“ – „Project Structure“ und in dem neuen Fenster wählt Ihr „Libraries“ an, clickt oben auf das „+“-Zeichen und wählt „Java“ aus:
Nun wählt Ihr entweder ein ganzes Verzeichnis oder eine einzelne JAR-Datei aus und bestätigt mit „OK“ – es erscheint ein Hinweisfenster und dann seid Ihr fast fertig.
Es könnte ja sein das Ihr noch weitere Bibliotheken einbinden möchtet (und wiederholt dann die letzten beiden Schritte) oder klickt auf „OK“:
Der Quellcode unseres Programms ist bewußt kurz gehalten:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
/* * Herkunft/Origin: http://java-crypto.bplaced.net/ * Programmierer/Programmer: Michael Fehr * Copyright/Copyright: frei verwendbares Programm (Public Domain) * Copyright: This is free and unencumbered software released into the public domain. * Lizenttext/Licence: <http://unlicense.org> * getestet mit/tested with: Java Runtime Environment 11.0.5 x64 * verwendete IDE/used IDE: intelliJ IDEA 2019.3.1 * Datum/Date (dd.mm.jjjj): 08.01.2020 * Funktion: intelliJ JAR Erzeugung mit externer Bibliothek * Function: intelliJ JAR creation with external library * * Hinweis/Notice * Sie benoetigen intelliJ um das Programm uebersetzen und ausfuehren zu koennen * You need intelliJ to build and run the program * * Sie erhalten die externe Bibliothek unter diesem Link: * You get the external library with this link; * joda-time: https://mvnrepository.com/artifact/joda-time/joda-time */ import org.joda.time.LocalDate; import java.util.Locale; public class Main { public static void main(String[] args) { System.out.println("Hello World Create JAR with unsigned library"); LocalDate ld = new LocalDate(2020, 1, 8); System.out.println("Datum:" + ld + "\nDatums-Tag in Deutsch:" + ld.dayOfWeek().getAsText(Locale.GERMANY) + "\nDatums-Monat in Deutsch:" + ld.monthOfYear().getAsText(Locale.GERMANY)); System.out.println("Datum:" + ld + "\nDatums-Tag in Französisch:" + ld.dayOfWeek().getAsText(Locale.FRANCE) + "\nDatums-Monat in Französisch:" + ld.monthOfYear().getAsText(Locale.FRANCE)); } } |
Auf der Konsole seht Ihr diese Ausgabe:
1 2 3 4 5 6 7 |
Hello World Create JAR with unsigned library Datum:2020-01-08 Datums-Tag in Deutsch:Mittwoch Datums-Monat in Deutsch:Januar Datum:2020-01-08 Datums-Tag in Französisch:mercredi Datums-Monat in Französisch:janvier |
Wie erfolgt nun die JAR-Erzeugung? Analog zum „einfachen Beispiel“ arbeitet Ihr die Schritte 01 bis 03 ab, wählt in Schritt 04 die Hauptklasse aus (hier „Main“) und klickt „OK“.
Im folgenden Schritt 05 seht Ihr das zum Artifact nun unsere Bibliothek hinzu gekommen ist. Der Typ unserer JAR-Datei ist im übrigen „JAR“. Ihr bestätigt mit „OK“ und die Erzeugung kann beginnen.
Die nächsten Schritte 06 und 07 erfolgen analog zum einfachen Beispiel und beginnen mit Hauptmenü „Build“ – „Build Artifacts“ wählen und am Ende findet Ihr im Projektverzeichnis unter „out“ – „artijacts“ – „<unserem Projektnamen>“ die erzeugte JAR-Datei (hier: intellijCreateJarWithLibrary.jar).
Wir können unser Programm wie gehabt testen (z.B. unter Windows mit der kleinen Batch-Datei intellijCreateJarWithLibrary.bat:
1 2 |
java -jar intellijCreateJarWithLibrary.jar pause |
Das ist das Ergebnis:
Herzlichen Glückwunsch, Ihr habt die eine JAR-Datei mit eingebauter externer Bibliothek erzeugt.
Alle Quellcodes zu intelliJ IDEA findet Ihr zum Download in meinem Github-Repository, welches Ihr über diesen Link erreicht: https://github.com/java-crypto/intelliJ-IDEA. Alle Programme sind unter Java 11 lauffähig (vermutlich auch unter Java 8) und wurden mit intelliJ IDEA entwickelt, welches für das eigene „Spielen“ notwendig ist.
Die Lizenz zum obigen Beispiel findet Ihr auf der eigenen Lizenz-Seite.
Letzte Bearbeitung: 08.01.2020