Instalace Javy a BlueJ v Linuxu
Instalace přes správce balíčků x instalace distribuce od SUNů
Většina distribucí Linuxu je vybavena nějakým správcem balíčků, který umožňuje instalovat části operačního systému (jak to dělají Windows), ale i další produkty (většinou se jedná o programy, které jsou volně k distribuci). Proti instalaci Javy se stránek java.sun.com má použití těchto správců balíčků následující výhody a nevýhody:
- instalace je jednodušší, součástí instalace je i nastavení PATH pro spouštění aplikací a proměnných jako je JAVA_HOME,
- lze snadněji odinstalovat,
- většinou je podporováno více verzí Javy (např verze 1.4 od Sunu, verze 1.5 od Sunu, verze 1.4 od BlackDown, gcc-java a někdy i další), to vytváří problémy při výběru, která se má kdy použít. Většina distribucí obsahuje také program, který umožňuje správci vybrat, která distribuce je správná,
- někdy je distribuce JDK rozdělena do samostatných částí - zvlášť je balíček pro JRE, zvlášť pro JDK, zvlášt pro zdrojové kódy JDK, zvlášť pro ukázkové aplikace atd. Uživatel si musí umět vybrat správný balíček.
- většinou mají určité zpoždění proti verzi od SUNu - např. v době psaní této stránky byla u Sunu verze 1.5.0_08, v distribuci SuSE byla verze 1.5.0_07, v distribuce Ubuntu verze 1.5.0_06, ve stabilní distribuci Gentoo verze 1.4.10 (ve vývojové - masked - byla verze 1.5.0_08).
Osobně doporučuje používat pro instalaci správce balíčků, pokud je k dispozici verze 1.5.0 od SUNu (na verzi aktualizace z hlediska výuky příliš nezáleží). Před instalací nejdříve odstraňte již nainstalované verze Javy (např. gcc-java či verze 1.4.x od Sunu či od BlackDown). Pokud to nejde (např. z důvodů závislostí), tak je potřeba věnovat pozornost tomu, jak nastavit, aby uživatelé měli k dispozici verzi 1.5.0 (ve většině distribucí existuje nástroj, který umí přepínat uživatelské prostředí na různé verze javy - např. update-java-alternatives v Ubuntu, java-config v Gentoo).
Instalace BlueJ
Nevím o žádné distribuci, jejíž součástí by bylo BlueJ. Tj. je potřeba si ze stránek www.bluej.org stáhnout instalaci ve formátu .jar. Instalace je poté jednoduchá - je potřeba zadat příkaz:
java -jar bluej-213.jar
který již uživatele instalací provede (zeptá se na adresář pro instalaci, vyhledá vhodné instalace Javy). Většinou je potřeba doplnit na plochu či do menu link na aplikaci či zadat příslušný adresář do cesty (PATH), na které se vyhledávají programy (pro spuštění z okna terminálu)
Jenom pro jistotu upozorňuji, že před instalací BlueJ je potřeba mít nainstalováno Javu od firmy Sun ve verzi 1.5.0 (či novější) a na počítači musí běžet X-Windows včetně vhodného správce (např. KDE či Gnome).
Ubuntu
Následující postup poslal Michal Pěkna:
- V repozitářích se nachází balíček sun-java5-jdk, v Ubuntu konkrétně ve verzi 1.5.0-06-1 k 26. 9. 2006. Použiji tedy mnou oblíbený Synaptic Package Manager a balíček i se všemi závislostmi nainstaluji.
- JDK se nainstaluje do systémových složek, takže mohu příkazy java či javac volat přímo z terminálu.
- BlueJ se v repozitářích Ubuntu linuxu nenachází. Je tedy nutné stáhnout .jar archív z domovských stránek BlueJ http://bluej.org/download/download.html.
- BlueJ komunita radí, abychom spustili instalátor pomocí příkazu z terminálu java -jar bluej-213.jar, nicméně objeví se hláška Exception in thread "main" java.awt.AWTError: Cannot load AWT toolkit: gnu.java.awt.peer.gtk.GtkToolkit a instalace selže. Je to z prostého důvodu. Instalátor nemůže být spuštěn pomocí GCJ verze Javy.
- Nastavme tedy oficiální Sun Java, aby byla defaultní. V terminálu vypíšeme: sudo update-java-alternatives -s java-1.5.0-sun. Poté můžeme spustit instalaci BlueJ podle rad BlueJ komunity: java -jar bluej-213.jar. Pozor na zadání správné cesty k souboru.
- Spustí se GUI instalátor. Dává nám možnost zvolit instalační složku BlueJ. Standardně je nastaveno /home/uživatel/bluej, ale má nevýhodu v tom, že bluej, jakožto příkaz, nejde volat přímo z terminálu. Řešením je tedy symlink ze systémové složky /usr. Kromě možnosti změny instalační složky je také nutné zadat správnou cestu k jdk, kterou si však instalátor najde sám, pokud bylo jdk instalováno z repozitářů.
- BlueJ se spustí příkazem bluej z terminálu nebo je možné vytvořit si launcher přímo na plochu, v případě gnome samozřejmě.
Mé poznámky k tomuto postupu:
- problém nastal díky tomu, že byl již dříve nainstalován překladač Javy, který je součástí balíku GNU cc překladače. Obdobné problémy by mohly nastat, pokud by byl dříve nainstalována BlackDown port Javy 1.3 či 1.4,
- v případě druhého bodu je potřeba vždy ověřit, že se spouští správné verze programů java a javac (tj. java -version, popř. javac -version). Pokud již na počítači je nějaká verze Javy, tak se většinou novou distribucí nepřepíše,
- ad 6. uvedený postup neodpovídá zvyklostem v unixu.
- instalace pro jednoho uživatele - uživatel si nainstaluje BlueJ sám do svého domovského adresáře (/home/uživatel/bluej), dále si buď udělá na ploše či menu link na příslušný spouštěcí soubor, nebo si dá příslušný adresář do cesty na vyhledávání programů (např. do .bash_profile v domovském adresáři doplnit řádek PATH=$PATH:$HOME/bluej;export PATH),
- instalace pro více uživatelů - BlueJ by měl instalovat privilegovaný uživatel (root), který ho umístí do nějaké vhodné složky (doporučuje se /opt/bluej či /usr/local/bluej) a nastaví cestu pro spouštění centrálně (např. v souboru /etc/profile).
SuSE Linux
Minimálně ve verzi 10.1 je součástí distribuce Java 1.5.0_07, je však rozdělena do více balíčků. Pro vývoj je potřeba nainstalovat balíček
java-1_5_0-sun-devel, automaticky se tím nainstaluje balíček java-1_5_0-sun (což je pouze JRE). Při instalaci se automaticky nastaví proměnné:
JAVA_BINDIR=/usr/lib/jvm/java/bin
JAVA_HOME=/usr/lib/jvm/java
JAVA_ROOT=/usr/lib/jvm/java
JDK_HOME=/usr/lib/jvm/java
JRE_HOME=/usr/lib/jvm/java/jre
Do adresáře /usr/bin se doinstalují odkazy (symlinks) pro programy java, javac, javadoc a další.
SuSE podporuje instalaci více verzí Javy (např gcc-java) a přepínání mezi nimi - blíže jsem nestudoval.
Součástí distribuce není BlueJ, je potřeba stáhnout verzi .jar a nainstalovat příkazem java -jar bluej-213.jar (viz poznámky k Ubuntu).
Další distribuce
Bohužel nemám tyto distribuce k dispozici, takže nemohu podrobněji popsat. Samozřejmě uvítám, pokud mi někdo popis pošle.