Ea - Archiv
jar-files-auto-extragere
Creați ușor de utilizat cross-platform, fișierele Java.
Mulți ani de zip-arhive Phil Katz a fost una dintre cele mai populare formate de fișiere de arhivă. Sun a adoptat formatul zip ca bază pentru Java-arhiva (JAR). Sun a extins utilizarea de format zip prin diverse convenții, oferind posibilitatea de ambalare a claselor Java în arhivă. Prin adăugarea de JAR execuție fișier manifest mediu Java-software-ul poate găsi cu ușurință și de a efectua aplicații bazate pe Java principale de clasă conținute în borcan-fișierul direct.
Unele zip-utilitate pot crea auto-extragere arhive pentru diferite platforme, cum ar fi MS Windows. Acest instrument combină un convențional zip-arhiva cu programul, generarea unui fișier executabil nou (exe). Destinatarii exe-fișier ar trebui pur și simplu rulați pentru a extrage conținutul zip-arhiva. Fișierul executabil lansează extractor pentru a extrage fișierele din arhivă într-un director specificat de utilizator de ieșire.
Puteți converti un borcan sau Zip-fișier obișnuit într-un borcan-fișier executabil de pe orice platformă care acceptă Java. În timp ce zip-fișier cu auto-extragere poate fi transformat într-un fișier executabil numai pentru o anumită platformă, cu auto-extragere jar fișier poate fi distribuit și rula pe orice platformă care suportă Java.
Creați-auto-extragere jar fișier este simplu. Doar avea nevoie de un fișier manifest JAR specială bazată pe Java software-extractor, sau borcan-Zip fișier care conține fișierele de conținutul principal, precum și orice borcan-utilitate a Java SDK.
Manifestul
Pentru a face executabile jar-fișiere este necesar, în primul rând, un nume de fișier manifest MANIFEST.MF în directorul META-INF. Fișierul manifest poate conține mai multe elemente diferite; dar pentru scopurile noastre aici, trebuie doar pentru a determina numele Java clasa care conține metoda principală () se bazează pe Dezarhivator Java:
Am adăugat un fișier manifest numit jarmanifest la exemplul de cod al Consiliului. Pentru mai multe informații, consultați fișierul manifest. Caietul de sarcini Jar fișier.
extractor
Programul-extractor se poate face folosind o varietate de abordări. Abordarea ne propunem aici o simplă și directă. Primul program-extractor învață numele jar-fișier cu auto-extragere. Cu acest nume, extractorul utilizează standardul, built-in zip / Java jar-bibliotecă pentru a extrage fișierele conținute în arhivă. Codul sursă completă poate fi găsită în ZipSelfExtractor ZipSelfExtractor.java.
Transfer numit program de extractor jar-file-in poate fi dificil. Deși numele jar-fișier apare pe linia de comandă, numele nu este trecut la principal () - metoda, clasa. Prin urmare, în programul-Dezarhivator folosim urmatorul cod pentru a extrage informațiile din URL-ul, care indică extractorul:
Rețineți că metoda getSystemResource () vom trece myClassName în loc ZipSelfExtractor.class. Acest lucru vă permite să schimbați-Dezarhivator numele programului, fără a schimba această parte a codului. Cautam numele clasei curente pentru a determina myClassName.
Apoi vom extrage numele jar-fișier. În primul rând, cerem URL-ul la fișierul de clasă care conține clasa executare în prezent (care este un extractor pentru). După ce a primit URL-ul, vom putea primi numele de jar-fișier. Prin definiție, programul de URL-Dezarhivator JAR respectă formatul de bază:
- borcan. care arată că fișierul executabil este rulat din borcan-fișier.
- URL-ul de fișier-fișier de tip borcan: / C: /temp/test.jar, urmat de caracterul.
- Nume calea fișierului în interiorul tip /ZipSelfExtractor.class-borcan arhiva.
În cazul programului URL-Dezarhivator ar putea arata ca:
Acum, cu numele jar-fișier, putem efectua decompresie. Decomprimare bazat pe biblioteca Java încorporat pentru manipularea zip / jar fișier pentru a extrage fișierele conținute în arhivă. Cm. Resurse. Pentru mai multe informații despre biblioteci Java pentru manipularea zip / jar-fișiere.
Pentru a ușura utilizarea extractorului se face sub forma unei aplicatii Java grafic. Aplicația utilizează clasa JFileChooser. pentru a permite utilizatorilor să specifice directorul de destinație la care doriți să extrageți fișierele. ProgressMonitor arată progresul procesului de extracție. Dacă fișierul poate fi scris peste un fișier existent, utilizatorului i se solicită dacă să suprascrie fișierul existent într-adevăr. La finalizarea casetei de dialog standard furnizează statistici dezarhivare.
Ambalare borcan-fișier
Acum, că avem un fișier manifest și despachetare, putem crea un borcan-fișier cu auto-extragere. Putem folosi manual jar-utilitatea JDK, pentru a face cu auto-extragere jar fișier. De exemplu, să presupunem că aveți un myzip.zip zip-fișier. Puteți lua următorii pași pentru a crea un fișier cu auto-extragere din ea:
- Navigați la directorul care conține myzip.zip.
- Descărcați zipper.jar.
- Extrage fișierele din directorul curent. Am făcut acest borcan-fișier cu auto-extragere.
java -jar zipper.jar - Copiați fișierul în zipper.class ZipSelfExtractor.class.
- Redenumirea myzip.zip în myzip.jar.
- Refresh myzip.jar. adăugarea de fișiere și jarmanifest ZipSelfExtractor.class.
jar uvfm myzip.jar jarmanifest ZipSelfExtractor.class
Acum myzip.jar a devenit un fișier cu auto-extragere pe toate platformele, conținând Java runtime-programe (JRE) versiunea 1.2 sau o versiune ulterioară. Pentru a efectua o auto-borcan-fișier, tip:
java myzip.jar -jar
Rețineți că unele platforme pot deja au caracter obligatoriu, astfel încât borcan-fișier poate fi rulat pentru a efectua, doar făcând clic pe mouse-ul pe fișierul pictograma myzip.jar. care este echivalentă de comandă al consolei.
Exercitarea pentru cititor
ZipSelfExtract actual nu asigură o bună integrare, dacă faci o arhivă cu auto-extragere a fișierului jar-jar-existent conține deja un fișier manifest. Adăugați informații pentru a crea Dezarhivator și instrucțiuni pe care le poate lucra cu jar-fișier existent care conține fișierele manifest.
Discreția cu JAR
Auto-jar-fișier - bun mecanism de distribuție de fișiere pe mai multe platforme diferite. arhive-extragere de auto-borcan ușor de a crea, și cerința minimă pentru utilizator pentru a instala JRE 1.2 sau mai târziu - un compromis rezonabil, care să permită să obțină sprijin cross-platform.
In loc de a crea un borcan-fișier cu auto-extragere a testa manual ZipAnywhere. ZipAnywhere - un full-featured zip / jar-utilitate, scris în 100% pur Java. Acesta este - un instrument gratuit cu o interfață grafică, cum ar fi WinZip, care vă permite să creați-borcan fișiere cu auto-extragere cu un singur clic pe un buton.