www.wikidata.de-de.nina.az
Ein Java Archive umgangssprachlich wegen der Dateiendung auch JAR Datei genannt dient der Gliederung Verteilung und Bereitstellung von Klassenbibliotheken und ausfuhrbaren Programmen die in der Programmiersprache Java erstellt wurden Technisch ist es eine komprimierte Datei im ZIP Format Das Archiv enthalt kompilierte Java Klassen Bytecode und ggf weitere Ressourcen In der Regel umfasst es auch eine oder mehrere Dateien mit Metadaten Diese haben fest vorgegebene Namen und Strukturen und liegen im Verzeichnis META INF Die typische Datei META INF MANIFEST MF wird im Abschnitt Manifest genauer beschrieben Die Kurzbezeichnung des Archivs kann als Wortspiel mit dem englischen Wort jar deutsch Gefass verstanden werden Inhaltsverzeichnis 1 Verwendung 2 Manifest 2 1 Beispiel 3 Abgeleitete Formate 4 Hilfsprogramme 5 Einzelnachweise 6 WeblinksVerwendung BearbeitenJAR Dateien wurden ursprunglich eingefuhrt damit von Java Applets benotigte Java Klassen nicht einzeln aus dem Netz nachgeladen werden mussen Die Ubertragung vieler Klassen in einer Datei ist effizienter und zusatzlich konnen die Dateien komprimiert werden Durch die Manifest Datei kann festgelegt werden wie die Java Anwendung gestartet wird Damit kann auch unter grafischen Benutzeroberflachen wie Windows macOS oder KDE die Anwendung ohne Zuhilfenahme der Kommandozeile gestartet werden vorausgesetzt der Dateiendung jar wurde der entsprechende Befehl zugewiesen Mit java jar kann man JAR Dateien aus der Kommandozeile starten JAR Archive speichern Dateinamen intern UTF 8 kodiert sodass sie auch Umlaute enthalten durfen Voraussetzung fur das Ausfuhren von JARs bzw Java Programmen ist immer ein installiertes Java Runtime Environment JAR Dateien konnen mit dem jar Befehl des JDK der die Syntax von tar benutzt oder sofern die Dateinamen nur ASCII Zeichen enthalten mit jedem ZIP Programm erstellt werden Ausserdem bietet die Java Platform Standard Edition in den beiden Paketen java util jar und java util zip Klassen an um JAR oder ZIP Archive auszulesen oder zu erstellen Zum Beispiel zeigt der folgende Befehl den Inhalt einer JAR Datei namens test jar an jar tvf test jar Dabei steht der Buchstabe t fur Inhaltsverzeichnis anzeigen von englisch table of contents v fur ausfuhrliche Ausgabe von englisch verbose und f besagt dass aus einer Datei englisch file gelesen werden soll deren Name folgt Manifest BearbeitenJedes Java Archive kann im Verzeichnis META INF durch eine Datei namens MANIFEST MF verschiedene Informationen uber den Inhalt des Archivs bereitstellen Zu den wichtigsten Meta Informationen zahlen die zur Laufzeit ermittelbare Version enthaltener Klassenbibliotheken Informationen uber enthaltene JavaBeans und der Name der Hauptklasse einer enthaltenen Java Anwendung Diese Manifest Datei ist eine einfache zeilenorientierte Textdatei die mehrere Paare aus Namen und Werten enthalt deren jedes ein sogenanntes Attribut definiert Ein Attribut ist eine Eigenschaft der gesamten Anwendung der enthaltenen Klassenbibliothek oder auch nur eines einzelnen Java Pakets package oder einer einzelnen Klasse Zusatzlich ist sie in mehrere Abschnitte sections aufgeteilt Der erste Abschnitt heisst main section Hauptabschnitt und definiert Attribute die sich auf das gesamte Java Archive beziehen Er beginnt immer mit der Definition des Attributs Manifest Version wahrend die ubrigen Attribute optional sind Die folgenden Abschnitte beziehen sich jeweils auf ein einzelnes Paket oder eine Klasse und sind optional ebenso wie die darin enthaltenen Attribute Unbekannte Attribute werden ignoriert und fuhren nicht zu Fehlermeldungen Wird ein Attribut sowohl im Hauptabschnitt als auch in einem Einzelabschnitt definiert so uberlagert der im Einzelabschnitt definierte Wert den im Hauptabschnitt vorbelegten fur diejenige Komponente Paket oder Klasse auf die sich der Abschnitt bezieht Beispiel Bearbeiten Das folgende Beispiel zeigt einen Ausschnitt des Manifests der in der Laufzeitumgebung von Java 1 4 enthaltenen Datei rt jar Manifest Version 1 0 Specification Title Java Platform API Specification Created By 1 4 2 05 Sun Microsystems Inc Implementation Title Java Runtime Environment Specification Vendor Sun Microsystems Inc Specification Version 1 4 Implementation Version 1 4 2 05 Implementation Vendor Sun Microsystems Inc Name javax swing JRadioButtonMenuItem class Java Bean True Name javax swing JList class Java Bean True Dem Hauptabschnitt in diesem Beispiel lasst sich entnehmen dass dieses Manifest so aufgebaut ist wie in der bisher einzigen Version 1 der JAR Datei Spezifikation von Sun Microsystems beschrieben Die ubrigen Attribute dieses Hauptabschnitts liefern Informationen uber die von der Bibliothek erfullte Spezifikation den Erzeuger des Java Archives den Namen der Implementierung sowie Hersteller und Version der verwendeten Spezifikation und der enthaltenen Implementierung Die beiden folgenden Abschnitte des Beispiels beziehen sich jeweils auf eine Klasse die als JavaBean markiert wird Abgeleitete Formate BearbeitenWeitere Spezialisierungen des JAR Formats sind zum Beispiel WAR Dateien Web Application Archive EAR Dateien Enterprise Application Archive oder OpenDocument Dateien Hilfsprogramme BearbeitenDas Java Development Kit enthalt bzw enthielt mehrere Programme zur Manipulation von JAR Dateien jar jar ist ein Programm zum Erzeugen Modifizieren und Entpacken von JAR Dateien dessen Aufrufparameter denjenigen des bekannten Unix Programms tar ahneln jarsigner jarsigner ist ein Programm das JAR Dateien signiert und deren elektronische Signatur uberpruft pack200 pack200 wandelte JAR Dateien in ein Dateiformat um das Bytecode effizienter speichern kann Es wurde in Java 5 eingefuhrt und kam insbesondere bei Java Web Start zum Einsatz da hier unter Umstanden grossere Dateimengen uber das Internet ubertragen werden mussten Die Ruckwandlung erfolgte mit dem Programm unpack200 Java 13 war die letzte Version die pack200 und unpack200 enthielt 1 Nicht im JDK enthaltene Programmierwerkzeuge fur JAR Dateien ProGuard ProGuard ist ein Programm zum Komprimieren Optimieren und Verschleiern von JAR Dateien Dies wird durch eine genauere Analyse des Bytecodes erreicht Packer Sofern die Dateinamen im Archiv aus ASCII Zeichen bestehen lassen sich JAR Dateien mit jedem Software Werkzeug bearbeiten das auch ZIP Dateien bearbeiten kann Einige Beispiele sind in der Liste von Datenkompressionsprogrammen aufgefuhrt Einzelnachweise Bearbeiten JEP 367 Remove the Pack200 Tools and API Oracle abgerufen am 2 Juli 2023 englisch Weblinks BearbeitenJAR Spezifikation fur J2SE 1 5 0 englisch Lesson Packaging Programs in JAR Files englisch Christian Ullenboom Das Archivformat Jar Abschnitt 23 5 Rheinwerk Verlag 2021 abgerufen am 28 Dezember 2021 Abgerufen von https de wikipedia org w index php title Java Archive amp oldid 235108284