java -jar jardemo.jar
Tomáš Pitner, Radek Ošlejšek, Marek Šabo, Jakub Čecháček pitner@muni.cz
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ástroj jar
.
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 {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 z manifest-file
Parametr files
uvádí, které soubory se sbalí, mohou být i nejavové (např. dokumentace API nebo datové soubory)
jar
- příkladVezměme následující zdrojový text třídy JarDemo
v
balíku tomp.ucebnice.jar
, tj. v adresáři c:\tomp\pb162\java\tomp\ucebnice\jar
Vytvoříme archív se všemi soubory z podadresáře tomp/ucebnice/jar
(s volbou c
- 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
typu unzip
, 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
.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.
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řídy NázevSpouštěnéTřídy
.
Spuštění aplikace zabalené ve spustitelném archívu je snadné:
java -jar jardemo.jar
a spustí se metoda main
třídy tomp.ucebnice.jar.JarDemo
:
jar tfv svet.jar | more
vypíše po obrazovkách obsah (listing) archívu svet.jar