aspose.info
SV

JAR - Java Archive File Format

Uppdaterad

Vad är JAR fil?

En fil med filtillägget .jar är en Java Archive-fil som innehåller många olika programrelaterade filer som en enda fil. Detta filformat skapades för att minska hastigheten för att ladda en nedladdad Java-applet i webbläsaren via HTTP-transaktion, genom att undvika att skapa flera HTTP-anslutningar. En enda JAR-fil kan innehålla Java-klassfiler (.class), images och sounds. Enskilda objekt i en JAR-fil kan signeras digitalt av applikationsutvecklaren för att autentisera deras ursprung. JAR-filer används regelbundet för att skapa funktionella API:er som innehåller specifik funktionalitet relaterad till det API:et.

JAR filformat

JAR-filer är baserade på det populära ZIP-filformat som arkiverar sina individuella innehållsfiler i en enda fil. JAR-filformatet stöder komprimering, vilket resulterar i en mindre filstorlek för nedladdning och därmed ytterligare förbättrar nedladdningstiden. JAR-filspecifikationer från Oracle ger fullständig information om de interna specifikationerna för JAR-filer.

Manifestfilen

När en JAR-fil skapas skapas automatiskt en manifestfil inuti den som innehåller metadatainformation om innehållet i JAR-filen. Den här filen visar innehållet som är paketerat inuti JAR-filen. En typisk Manifest-fil ser ut som följer som visar mappar och klasser som ingår i JAR-filen.

META-INF/
META-INF/MANIFEST.MF
pack/
pack/class1.class
pack/class2.class
..
..

Manifestspecifikationer

Manifestspecifikationer definieras av Oracle enligt följande.

manifest-fil: huvudsektion newline *individual-section

main-section: version-info newline *main-attribute

version-info: Manifest-Version: version-nummer

version-nummer : siffra+{.digit+}*

main-attribute: (alla legitima huvudattribut) nyrad

individual-section: Namn : värde newline *perentry-attribute

“perentry-attribute”: (alla legitima perentry-attribut) nyrad

nylinje : CR LF | LF | CR (följs inte av LF)

digit: {0-9}

Körbar JAR

JAR-filer kan också bestå av ett program som kan köras av Java Virtual Machine (JVM) liknande alla andra program på Microsoft Windows operativsystem. I det här fallet behöver JVM veta om applikationens ingångspunkt som är vilken klass som helst med en offentlig statisk void-huvudmetod. Manifestfilen identifierar en sådan klass med “Main-Class”-huvudet i följande format:

Main-Class: com.example.MyClassName

Referenser

Se även