JAR (fájlformátum)

számítógépes fájlformátum
Ez a közzétett változat, ellenőrizve: 2022. december 24.

A JAR fájl olyan ZIP fájlformátumú fájl, amely java osztályokat és hozzájuk tartozó metaadatokat tartalmaz.

Java ARchive
JAR fájl ikon a KDE-ben
JAR fájl ikon a KDE-ben
Fájlkiterjesztés.jar
MIME-típusapplication/java-archive
FejlesztőSun Microsystems
Formátum típusaadattömörítés
Konténerformátuma ennekJSP, Java class fájlok
Kiterjesztése ennekZIP
Uniformcom.sun.java-archive

JAR fájlokat készíteni a JDK részét képező „jar” eszközzel lehet. Mivel ZIP fájlokról van szó, más zippelő eszköz is használható, de például a WinZip kerülendő, mert a nagybetűs könyvtár- és fájlneveket átnevezi kisbetűsre.

A JAR fájl tartalmazhat egy úgynevezett manifest fájlt a META-INF/ könyvtárban MANIFEST.MF néven. Ez a fájl írja le a futtató környezet számára, miképp kell a jar fájlt használni. Szerepelhet benne például egy bejegyzés arról, hogy a jar fájl futtatásakor melyik osztály melyik statikus metódusát kell elindítani:

Main-Class: myPrograms.MyClass

Az ilyen jar fájlokat jellemzően így indítják:

java -jar valami.jar

A manifest fájl tartalmazhat classpath bejegyzést is, ami azt mondja meg, hogy a virtuális gép mely jarokat töltse még be:

Class-Path: /lib/jxta.jar /lib/bcprov-jdk14.jar

A jar fájl tartalmazhat digitális aláírást is, ami szintén a manifest fájlban tárolódik.

Végrehajtható JAR fájlok

szerkesztés

Végrehajtható Java program becsomagolható JAR fájlba, az összes általa használt könyvtárával együtt. A végrehajtható JAR fájlok könnyen megkülönböztethetők az JAR fájlba csomagolt fájlok közül az első fájlban lévő extra mező segítségével, mely hexadecimálisan a 0xCAFE bájt sorozat.[1]

Továbbá a manifest fájlban meg kell határozni a fő osztály nevét, egy ilyen bejegyzéssel: Main-Class: myPrograms.MyClass. Sok operációs rendszerben beleértve a Microsoft Windows-t, Solaris-t és a legtöbb Linux terjesztést, ezeket a JAR fájlokat úgy kezelik, mint más végrehajtható fájlokat.[1] Azonban minden körülmények között a felhasználó használhatja a következőhöz hasonló parancsot is: "java -jar foo.jar".

Azon Microsoft Windows felhasználók számára, akik jobban kedvelik a Windows EXE fájlokat, rendelkezésre állnak olyan eszközök, mint pl. a JSmooth, Launch4J, WinRun4J vagy a Nullsoft Scriptable Install System, melyek segítségével a JAR fájlok becsomagolhatók végrehajtható fájlokba.

Apache Ant Zip/JAR támogatás

szerkesztés

Az Apache Ant build eszköznek van saját csomagja a Zip és JAR archív fájlok írására és olvasására, ami még a Unix fájlrendszer kiterjesztéseit is támogatja. Az org.apache.tools.zip csomagot Apache Software Foundation licenc alatt adták ki, és úgy tervezték meg, hogy az Ant-on kívül használható legyen.

Kapcsolódó formátumok

szerkesztés

Több kapcsolódó formátum is épül a JAR formátumra:

  • WAR (Web Application aRchive) fájlok olyan ZIP fájlok, amelyek XML fájlokat, lefordított java osztályokat, JSP fájlokat és egyéb webalkalmazás objektumokat tartalmaznak.
  • EAR (Enterprise ARchive) fájlok XML fájlokat, lefordított java osztályokat és egyéb üzleti alkalmazás objektumokat tartalmaznak.
  • RAR (Resource Adapter aRchive) fájlok (nem összekeverendő a RAR formátummal), szintén Java archive állományok, tartalmazhatnak XML fájlokat, Java class-okat és más objektumokat a JCA alkalmazások számára.
  • SAR - a (Service ARchive) fájlok hasonlóak az EAR-hoz. Biztosítanak egy service.xml fájlt és a hozzá tartozó JAR fájlokat.
  • APK (Android Application PacKage) szintén egy Java archív formátum fajta, Android alkalmazások használják.[2]