Nástroj JAR
-
Javové programy se distribuují k uživateli různými způsoby.
-
Ať už je způsob jakýkoli, většinou se však kód pro účel šíření balí pomocí nástroje
jar(Java ARchiver). -
Distribucí nemyslíme použití nástroje typu "InstallShield"…, ale spíše něčeho podobného
tar/ZIP. -
Java na sbalení množiny souborů zdrojových i přeložených (
.class) a dalších nabízí nástrojjar. -
Sbalením vznikne soubor (archív)
.jarformátově podobnýZIPu (obvykle je to ZIP formát), ale nemusí být komprimován. -
Kromě souborů obsahuje i metainformace (tzv. MANIFEST)
-
Součástí archívu nejsou jen
.classsoubory, ale i další zdroje, např. obrázky, soubory s národními variantami řetězců (resouce bundles), zdrojové texty programu, dokumentace …
Spuštění jar
-
Spuštění:
jar {ctxu} [vfm0M] [jar-file] [manifest-file] [-C dir] files-
c- vytvoří archív -
t- vypíše obsah archívu -
x- extrahuje archív -
u- aktualizuje obsah archívu
-
-
Volby:
-
v- verbose -
0- soubory nekomprimuje -
f- pracuje se se souborem, ne se "stdio" -
m- přibalí metainformace zmanifest-file
-
-
Parametr
filesuvádí, které soubory se sbalí, mohou být i nejavové (např. dokumentace API nebo datové soubory)
jar - příklad
-
Vezměme následující zdrojový text třídy
JarDemov balíkutomp.ucebnice.jar, tj. v adresářic:\tomp\pb162\java\tomp\ucebnice\jar -
Vytvoříme archív se všemi soubory z podadresáře
tomp/ucebnice/jar(s volbouc- create,v- verbose,f- do souboru): -
jar cvf jardemo tomp/ucebnice/jar -
Vzniklý
.jarsoubor lze prohlédnout/rozbalit také běžným nástrojem typuunzip,gunzip, WinZip, PowerArchiver nebo souborovým managerem. -
Tento archív rozbalíme v adresáři
/tempnásledujícím způsobem: -
jar xvf jardemo
Rozšíření .jar archívů
-
Formáty vycházející z
JAR:-
webové aplikace →
.war -
enterprise (EJB) aplikace →
.ear
-
-
Liší se podrobnějším předepsáním adresářové struktury a dalšími povinnými metainformacemi.
Tvorba spustitelných archívů
-
Vytvoříme
jars manifestem obsahujícím tento řádek:Main-Class: NázevSpouštěnéTřídy -
poté zadáme:
java -jar NázevJARu.jar -
a spustí se metoda
maintřídyNázevSpouštěnéTřídy.
Spuštění archívu - příklad
-
Spuštění aplikace zabalené ve spustitelném archívu je snadné:
java -jar jardemo.jar
-
a spustí se metoda
maintřídytomp.ucebnice.jar.JarDemo:
Další příklad spuštění jar
-
jar tfv svet.jar | more -
vypíše po obrazovkách obsah (listing) archívu
svet.jar