60 likes | 255 Views
JAR - Java ARchive. J2SE/bin obsahuje program jar, který je mírným rozšířením PKZIPu. Z důvodů bezpečnosti, kapacity a rychlosti je preferovaný. Se soubory *.jar lze nakládat i WinZipem ( od verze 7.0 ) či WinRARem.
E N D
JAR - Java ARchive J2SE/bin obsahuje program jar, který je mírným rozšířením PKZIPu. Z důvodů bezpečnosti, kapacity a rychlosti je preferovaný. Se soubory *.jar lze nakládat i WinZipem ( od verze 7.0 ) či WinRARem. Do archivu lze přiložit i adresář meta-inf a soubor meta-inf/Manifest.mf v němž se ukládají dodatečné informace ve formě dvojic klíč: hodnota. Tak lze např. určit spouštěcí třídu, certifikáty jednotlivých složek apod. Klíč má být unikátní, oddělený od hodnoty dvojtečkou a jednou mezerou. Soubor musí končit novou řádkou. PJV18
Příklad použití Vytvoření: jar –cf MyJar.jar myApp Výpis: jar -xvf MyJar.jar Spuštění: java –jar MyJar.jar Aplikaci se spustit, pokud jar obsahuje manifest v němž je vyznačena spustitelná třída ( např. Main-Class: p1.A ), tj. obsahující main PJV18
Vytvoření JAR a dokumentace v NetBeans je snadné – po té když jsou třídy projektu zkompilovány. Projects -> identifikace projektu X -> Build v adresáři projektu dist se vytvoří X.jar Projects -> identifikace projektu X -> Generate Javadoc v adresáři projektu dist se vytvoří adresář javadoc s dokumentací PJV18
Vytvoření JAR ručně Příklad vytvoření archivu s manifestem: jar -cvfm Muj.jar xxx.mft file1 [-C dir2 file2] [-C dir3 file3] ... kde: Muj.jar je výstupní soubor xxx.mft je soubor manifestu ( může jmenovat jakkoli - včetně extenze ) -C znamená změnu adresáře. Následuje jeden soubor anebo tečka znamenající vše z adresáře. Vstupní file mohou obsahovat hvězdičkovou notaci. Bude-li xxx.mft obsahovat: Main-Class: p1.A Ahoj-Nazdar: Cau Pak soubor meta-inf/Manifest.mf bude obsahovat: Manifest-Version: 1.0 Main-Class: p1.A Ahoj-Nazdar: Cau Created-By: 1.2 (Sun Microsystems Inc.) PJV18
Manifest Soubor meta-inf/Manifest.mf např. obsahuje: Manifest-Version:1.0 Created-By:1.4.2_04 (Sun Microsystems Inc.) Main-Class: p1.MainClass Class-Path: Signature-Version: Extension-List: Extension-Name: javax.help Specification-Vendor: Sun Microsystems, Inc Specification-Version: 1.0 Implementation-Vendor-Id: com.sun Implementation-Vendor: Sun Microsystems, Inc Implementation-Version: 1.0 PJV18
java.util.jar java.util.zip ZipFile JarFile GZIP InputStream ZipEntry JarEntry java.io Input Stream Filter InputStream Inflater InputStream Zip InputStream Jar InputStream Output Stream Filter OutputStream Deflater OutputStream Zip OutputStream Jar OutputStream GZIP OutputStream Map Manifest Attributes Pack200 Attributes. Name PJV18