JAR (fájlformátum)
Java ARchive | |
JAR fájl ikon a KDE-ben | |
Fájlkiterjesztés | .jar |
MIME-típus | application/java-archive |
Fejlesztő | Sun Microsystems |
Formátum típusa | adattömörítés |
Konténerformátuma ennek | JSP, Java class fájlok |
Kiterjesztése ennek | ZIP |
Uniform | com.sun.java-archive |
A JAR fájl olyan ZIP fájlformátumú fájl, amely java osztályokat és hozzájuk tartozó metaadatokat tartalmaz.
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]