Ako urobiť spustiteľnú aplikáciu v jednom .jar súbore?
Nato je potrebné vytvoriť si vlastný manifest súbor a tento použiť pri vytváraní .jar súboru.
Manifest je jednoduchý textový súbor s určitými špecifickými príkazmi pre virtuálny stroj Javy (JVM).
Pomocou týchto príkazov odovzdáte JVM informácie o tom, ktorá trieda obsahuje \texttt{main} metódu, ktorá sa
má spustiť. Rovnako pomocou \textit{manifest} súboru odovzdáte informáciu o premennej CLASSPATH .
Nasledujúci príklad je manifest súbor z bugs.jar (viď demo-program HeatBugs).
Main-Class: uchicago.src.sim.heatBugs.HeatBugsModel
Class-Path: ../../lib/repast.jar ../../lib/trove.jar
../../lib/colt.jar ../../lib/jgl3.1.0.jar
../../lib/excelaccessor_Runtime.jar ../../lib/jmf.jar
../../lib/jcchart.jar ../../lib/junit.jar ../../lib/plot.jar
../../lib/xerces.jar
Cesty uvedené sa príkazom Class-Path: by mali byť na jednom riadku. Hlavná trieda obsahujúca metódu
main , ktorá sa má spustiť je v tomto prípade uchicago.src.sim.heatBugs.HeatBugsModel
a vyžaduje špecifikovať classpath k použitým triedam, aby sa mohla korektne spustiť. Premenná
classpath je obmedzená na túto jedinú aplikáciu a uvedené cesty sú relatívne k umiestneniu súboru
bugs.jar .
Keď už máte hotový súbor manifestu, je potrebné ho zahrnúť do .jar súboru. Ak ste ešte nevytvárali
.jar súbor, môžete tak urobiť v jedinom kroku pomocou nástroja jar , ktorý je súčasťou JDK,
nasledovne:
$$ jar cfvm my_model.jar my_manifest my_model_dir
kde my_model.jar je meno súboru, ktorý vytvárame, my_manifest je meno manifest súboru, ktorý
sme si pripravili a my_model_dir je adresár s aktuálnym modelom. Preto pre vyššie spomínanú aplikáciu
HeatBugs by príkaz vyzeral nasledovne:
$$ jar cfvm bugs.jar bugs_manifest uchicago/src/sim/heatBugs
Ak je váš model balíkom (ako by správne mal byť), je dôležité spustiť uvedený príkaz z adresára nadradeného prvému
adresáru balíka. V prípade aplikácie HeatBugs to bude ten adresár, v ktorom je umiestnený adresár
uchicago/ .
V prípade, že už máte .jar súbor hotový a chcete iba pridať súbor manifestu, vo vyššie uvedenom
príkaze nahraďte prepínač c prepínačom u . Obsah .jar súboru je možné overiť
príkazom
$$ jar -tf name_of_jar_file
Manuál nástroja jar si môžete stiahnuť tu:
jar.pdf (24kB)
jar.pdf.gz (10kB)
|