Vtip
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)
.jar
formátově podobnýZIP
u (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
.class
soubory, 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
files
uvá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
JarDemo
v 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ý
.jar
soubor 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
/temp
ná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
jar
s 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
main
tří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
main
tří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