A JAR (Java-archief) is een pakketbestandsindeling die doorgaans wordt gebruikt om veel Java-klassebestanden en bijbehorende metagegevens en bronnen (tekstafbeeldingen enz.) samen te voegen tot één bestand om toepassingssoftware of bibliotheken op het Java-platform te distribueren.
In eenvoudige bewoordingen is een JAR-bestand een bestand dat een gecomprimeerde versie bevat van .class-bestanden, audiobestanden, afbeeldingsbestanden of mappen. We kunnen ons een .jar-bestand voorstellen als een gecomprimeerd bestand (.zip) dat is gemaakt met behulp van WinZip-software. Zelfs WinZip-software kan worden gebruikt om de inhoud van een .jar-bestand te extraheren. U kunt ze dus gebruiken voor taken zoals verliesvrije datacompressie, archivering, decompressie en het uitpakken van archieven.
Laten we eens kijken hoe we een .jar-bestand kunnen maken en de bijbehorende opdrachten die ons helpen met .jar-bestanden te werken
1.1 Maak een JAR-bestand
In volgorde om een .jar-bestand te maken dat we kunnen gebruiken jar cf-opdracht op de volgende manieren, zoals hieronder besproken:
Syntaxis:
jar cf jarfilename inputfiles Hier staat cf voor het maken van het bestand. Als we er bijvoorbeeld van uitgaan dat ons pakketpakket beschikbaar is in de map C: om het te converteren naar een jar-bestand in pack.jar, kunnen we de opdracht geven als:
C:> jar cf pack.jar pack
1. 2 Bekijk een JAR-bestand
Nu de pak.pot bestand wordt aangemaakt. Om een JAR-bestand '.jar'-bestanden te bekijken, kunnen we de opdracht gebruiken als:
Syntaxis:
jar tf jarfilenameHier vertegenwoordigt tf de tabelweergave van de bestandsinhoud. Om bijvoorbeeld de inhoud van ons pack.jar-bestand te bekijken, kunnen we het commando geven:
C:/> jar tf pack.jarNu wordt de inhoud van pack.jar als volgt weergegeven:
META-INF/
META-INF/MANIFEST.MF
pack/
pack/class1.class
pack/class2.class
..
..
Hier zijn klasse1, klasse2 etc. de klassen in het pakketpakket. De eerste twee vermeldingen geven aan dat er een manifestbestand is gemaakt en toegevoegd aan pack.jar. Het derde item vertegenwoordigt de submap met het naampakket en de laatste twee vertegenwoordigen de bestandsnaam in het directorypakket.
Opmerking: Wanneer we .jar-bestanden maken, ontvangt het automatisch het standaardmanifestbestand. Er kan slechts één manifestbestand in een archief aanwezig zijn en dit bestand heeft altijd de padnaam.
META-INF/MANIFEST.MFDit manifestbestand is handig om de informatie op te geven over andere bestanden die zijn verpakt.
1.3 Een JAR-bestand uitpakken
Om de bestanden uit een .jar-bestand te extraheren, kunnen we de onderstaande opdrachten gebruiken:
jar xf jarfilenameHier vertegenwoordigt xf extractiebestanden uit de jar-bestanden. Om bijvoorbeeld de inhoud van ons pack.jar-bestand te extraheren, kunnen we schrijven:
C:> jar xf pack.jarHierdoor worden de volgende mappen in C gemaakt:
META-INFIn deze map kunnen we class1.class en class2.class zien.
pack 1.4 Een JAR-bestand bijwerken
De Jar-tool biedt een 'u'-optie die u kunt gebruiken om de inhoud van een bestaand JAR-bestand bij te werken door het manifest ervan te wijzigen of door bestanden toe te voegen. Het basiscommando voor het toevoegen van bestanden heeft dit formaat, zoals hieronder weergegeven:
Syntaxis:
jar uf jar-file input-file(s)Hier ' uf' vertegenwoordigt het bijgewerkte jar-bestand. Om bijvoorbeeld de inhoud van ons pack.jar-bestand bij te werken, kunnen we schrijven:
C:>jar uf pack.jar1.5 Een JAR-bestand uitvoeren
Om een applicatie uit te voeren die is verpakt als een JAR-bestand (vereist de manifestheader van de Main-klasse), kan de volgende opdracht worden gebruikt zoals vermeld:
Syntaxis:
C:>java -jar pack.jarGerelateerd artikel
Quiz makenWerken met JAR- en Manifest-bestanden in Java