Java (13) - JDK, vývojová prostředí
Dnes se vrátíme zpět k úvodu - od začátku seriálu se totiž v Javě leccos změnilo
(k lepšímu). Chtěl bych také připomenou některé časté problémy při a po instalaci
Javy, a jejich řešení.
5.5.2005 07:00 | Lukáš Jelínek | read 38237×
DISCUSSION
Pokrok nelze zastavit
Když tento seriál začínal (tehdy ještě pod taktovkou Petra Hatiny), existovala
pod kódovým názvem Tiger beta verze něčeho, co sice mělo úplně nové označení,
ale ve skutečnosti to bylo pokračování toho předchozího. Ano, řeč je o Javě
5.0, která přináší do jazyka i do knihoven řadu nových věcí. Ale nepředbíhejme,
vezmeme to postupně...
Co instalovat
Pravděpodobně již každý ví, že k běhu programů napsaných v Javě je (s výjimkou
případů, kdy se javovské programy zkompilují do nativního strojového kódu)
bezpodmínečně nutné provozní (též "běhové", "spouštěcí" apod. - v angličtině
"runtime") prostředí nejméně v té verzi, pro kterou je daný program určen.
Zpětná kompatibilita se plně zachovává (až na pár výjimek), takže program
napsaný a zkompilovaný třeba pro Javu 1.1 na Javě 1.5 spustíme bez problémů.
Pro kompilaci zdrojových kódů potřebujeme vývojářský balík, nazvaný Java
Development Kit (příp. u některých verzí mírně odlišně).
Jak už bylo řečeno ve druhém dílu seriálu, kromě "originálního" JDK od
Sun Microsystems existují ještě další verze od jiných producentů A pozor,
i tyto verze mají, jak si hned řekneme, svůj smysl. Přesto bude pro většinu
vývojářů první volbou právě sunovská Java.
Kdy má smysl instalovat jiné verze JDK? Např. tehdy, když zjistíme, že
originální verze nefunguje. Typickým případem jsou např. víceprocesorové
servery, tam někdy funguje jen Blackdown Java, zatímco JDK od Sunu ani od
IBM nikoliv. Obecně ale doporučuji začít vždy Javou od Sunu, a to buď hned verzí
1.5.0 (poskytuje nejvíce možností a přitom umožňuje kompilovat i programy, které
potom poběží na starších verzích - současně bude ale pravděpodobně obsahovat
dost chyb), nebo 1.4.2 (stabilní, dobře odladěná verze). JDK 1.5.0 má v tuto
chvíli pouze Sun, u ostatních producentů najdeme verze končící 1.4.2.
Dokumentace
Dokumentace k nástrojům JDK a ke knihovnám Javy není součástí instalačních
balíků JDK, instaluje se zvlášť. Balík je poměrně objemný (pro JDK 1.5.0 má
45 MB, po rozbalení na disku zabere několikanásobek, většinou přes 250 MB),
proto kdo ho nechce stahovat a má rychlé síťové připojení, může pracovat přímo
s on-line verzí. Znamená to ale, že nebude mít přímý přístup do dokumentace
z vývojových prostředí.
Platformy
Jak provozní, tak vývojové prostředí máme k dispozici pro celou řadu
platforem - nás bude samozřejmě nejvíce zajímat GNU/Linux. Potěšující je,
že Javu 5.0 můžeme používat i na 64-bitových systémem (v 64-bitovém režimu)
a využít tak jejich plnou sílu.
Postup instalace
Instalace JDK
Nyní popíši typický postup instalace JDK 1.5.0 na běžnou linuxovou distribuci
(uplatnitelný např. na Fedora Core, Mandrake Linuxu nebo SuSe Linuxu).
Pokud není uvedeno jinak, provádí se příslušné kroky bez rootovských práv.
Předpokládejme systém, na kterém dosud žádná (standardní) Java nebyla.
-
Stáhneme příslušný instalační balík. Lze stahovat balík obsahující jen JDK,
anebo větší balík, jehož součástí je také vývojové prostředí NetBeans (viz
níže). Můžeme si vybrat ze dvou formátů: univerzálního (obsahuje grafický
instalátor, lze instalovat prakticky na všechny distribuce, na libovolné
místo v souborovém systému), a formátu RPM (instaluje se předem - již v balíku
- definované místo, vždy jako root, musí být podpora RPM).
-
Máme-li univerzální balík, jednoduše ho spustíme (je samorozbalovací, extrahuje
a spustí virtuální stroj Javy, potom aktivuje průvodce instalací). Lze ho
spouštět jak jako root (a instalovat kamkoliv, tedy i nahradit stávající verzi),
nebo i jako běžný uživatel (kamkoliv, kam daný uživatel smí zapisovat), což
umožňuje uživateli nainstalovat si tuto Javu jen pro sebe - ostatní budou
užívat tu, která byla nainstalována rootem do systému. Instalace se implicitně
spustí v grafickém režimu. Lze si vynutit konzolový režim přepínačem
-console ,
ovšem ne všechny terminály jsou podporovány! Existuje také "tichý" režim, ale
ten běžně nelze doporučit. Po instalaci pokračujeme bodem 4.
-
RPM balík je nejprve nutné rozbalit, protože je uložen opět v samorozbalovacím
souboru s příponou .bin, teprve pak získáne vlastní RPM balík.
Ten se instaluje standardním způsobem - tedy
rpm -i nazev_baliku.rpm apod.
Rootovská práva jsou nutná, JDK se nainstaluje na standardní místo ve stromě /usr
(adresář pak bude něco jako jdk1.5.0_01 ).
-
Máme nainstalováno, proto zkusíme spustit program
java , nejlépe z domovského
adresáře (program spuštěn bez parametrů by měl vypsat seznam přepínačů).
Podle toho, kam se Java nainstalovala a jakým způsobem, se toto může
a nemusí podařit. Pokud to nepůjde (nejsou nastaveny cesty), máme dvě možnosti
- buď přidat do proměnné PATH podadresář bin v adresáři JDK, nebo druhou
možnost (podle mého názoru lepší), vytvořit symbolické odkazy na programy
někde, kam se lze přes PATH dostat (např. v /usr/local/bin ).
-
Pokud vše funguje, jak má, stáhneme a nainstalujeme dokumentaci. Je v samostatném balíku ZIP,
který stačí rozbalit, nejlépe do adresáře, kde je nainstalován JDK
(podle umístění mohou být potřebná rootovská práva - viz výše). Rozbalením se
vytvoří adresář
docs , obsahující veškeré soubory dokumentace.
-
Tím je instalace základního vývojového balíku u konce. Pokud bylo součástí balíku
vývojové prostředí NetBeans, mohlo být nainstalováno již v této fázi. Pokud
jsme ho neinstalovali, můžeme ho nainstalovat později nebo pracovat s nějakým jiným
(případně i bez něj).
Časté problémy
Instalaci Javy bohužel často provázejí problémy. S verzí JDK 1.5.0 je jich většina odstraněna, ale
zejména pro ty, kdo zkusí instalovat některou ze starších verzí, uvedu několik častých problémů
a jejich řešení. Zmíním se o některých speciálních situacích.
-
Pod rootem všechno funguje, pod běžným uživatelem ne. Častá chyba u starších verzí, problém
bývá v tom, že se (zcela nepochopitelně) pro celý strom souborů nastaví práva číst a
spouštět soubory pouze pro vlastníka. Řešení je jednoduché - nastavit souborům
a adresářům práva (oktalově) 0755.
-
Chci vytvořit v adresáři (
/usr/bin apod.) symbolické odkazy, ale jsou tu nějaké soubory
se stejnými názvy. Soubory pravděpodobně patří ke GJC (tedy k javovské komponentě
kompilátoru GCC) nebo k nějaké implementaci Javy (třeba Kaffe). Nejlepší je začít zjištěním,
zda není něco takového nainstalováno (typicky přes RPM) - pokud je, odinstalovat to
(zde mohou bohužel vadit závislosti). Pokud se nic nenašlo nebo to nejde bez problémů
odinstalovat, doporučuji vytvořit speciální adresář, tam soubory přesunout a pak
vytvořit odkazy na soubory z nové Javy. Toto řešení má výhodu v tom, že lze vše rychle
vrátit zpět.
-
Instalátor zatuhne, podle
top Java stále běží a bere si 100 % procesoru. To se někdy stává -
už jsem zmínil ony víceprocesorové servery, ale může to nastat i jinde. Pravděpodobně
je nějaká chyba v implementaci JVM, která s daným hardwarem způsobuje zacyklení.
Některé chyby už byly reportovány. Pokud se to stane, zkuste jinou (starší) verzi,
anebo JDK od IBM nebo Blackdown (zejména tato implementace je z tohoto pohledu velmi
spolehlivá).
-
Chci mít nainstalováno víc verzí Javy současně, jak na to? Běžně není důvod mít více
JDK, provozní prostředí i kompilátor umí emulovat starší verze. Přesto to ale poměrně
snadno lze, stačí si balík nainstalovat do zvláštního adresáře (pokud to instalátor
umožňuje) a spouštět buď přes absolutní cestu, nebo přes symbolické odkazy.
-
Mám nějaké hotové (zkompilované) třídy a chtěl bych je použít. Jak to udělat?
Cest je hned několik. Pro jednotlivé případy stačí "podstrčit" jejich
umístění (tedy adresář nebo JAR archiv) programům
javac a java - použije
se argument -classpath <umístění>
nebo -cp <umístění> . Pro
častější použití se hodí nastavit proměnnou prostředí CLASSPATH na
toto umístění (nebo více umístění oddělených dvojtečkou).
Vývojová prostředí
Přestože lze programy psát v libovolném editoru, kompilovat je buďto z něj (pokud
to umožňuje) nebo z příkazové řádky, zejména začínajícím javistům vřele
doporučuji používat některé integrované vývojové prostředí - výhody se projeví
hlavně při ladění. Rád bych tedy nyní představil některá z těchto
prostředí.
-
NetBeans - open-source projekt původně vyvíjený českými autory, později prodaný
firmě Sun Microsystems, která z něj učinila základ pro svá (za nemalé peníze
poskytovaná) vývojová prostředí. Pro většinu použití však "základní" NetBeans
bohatě stačí. Podívejme se na funkce a vlastnosti programu:
-
běží v Javě, uživatelské rozhraní používá knihovnu Swing ze standardního balíku Javy;
prostředí využívá jako aplikační základ NetBeans Framework
-
umožňuje snadnou editaci, kompilaci a spouštění programů
-
má komfortní funkce pro debugging
-
obsahuje dobře použitelnou správu verzí
-
má grafického návrháře UI
-
obsahuje řadu různých pomocných nástrojů (internacionalizace, práce s dokumentací,
automatické aktualizace apod.), další lze přidat jako pluginy
-
spotřebuje hodně paměti a mnoho času procesoru
-
Eclipse - opět open-source projekt, ovšem podporovaný prozměnu firmou IBM,
která na něm staví své WebSphere Studio. Eclipse je v podstatě velmi
obecný framework, do kterého se funkcionalita přidává pomocí pluginů
- existuje jich velké množství a další stále vznikají. Co tedy Eclipse
nabízí:
-
běží opět v Javě, ale jako GUI místo Swingu používá SWT (částečně nativní
implementace)
-
vývojové prostředí jako takové tvoří základní sada pluginů, další lze
přidávat
-
v základní sadě poněkud méně funkcí než NetBeans
-
chybí grafický návrh GUI (lze přidat pluginem, ale zatím jsem neviděl
dostatečně fungující nekomerční plugin pro tento účel)
-
velká paměťová náročnost, o něco rychlejší než NetBeans
-
BlueJ - společný projekt několika univerzit určený jako prostředí pro výuku Javy.
Je to sice closed-source program, ale je zdarma.
-
je navržen k výuce a je tedy velmi vhodný pro začátečníky
-
obsahuje grafický, abstraktní, čistě objektový návrh dat
-
běží v Javě bez závislosti na platformě
-
rozšiřitelný pomocí pluginů
-
JBuilder - vývojový balík od firmy Borland, dostupný v několika
variantách, jedna z nich je bezplatná.
-
běží opět v Javě
-
množina funkcí velice podobná jako u NetBeans, spíše ještě širší
Všechna tato prostředí fungují (mimo jiné) pod Linuxem, proto můžeme zvolit
kterékoli z nich. Doporučit některé z nich je těžké (s BlueJ navíc ani
nemám zkušenosti, proto ho nemohu hodnotit), záleží na osobním vkusu.
Nejlepší cestou asi bude si každé z prostředí vyzkoušet a pak se rozhodnout.
Eclipse má handicap v chybějící podpoře grafického návrhu GUI (i když
grafický návrh GUI není vždy ta nejlepší cesta). Osobně mám nejlepší
zkušenosti s Eclipsem, z prostředí s grafickým návrhářem pak s NetBeans.
V JBuilderu jsem se vždycky poněkud ztrácel, ale poslední verzi
(JBuilder 2005) jsem zatím nezkoušel, třeba se ovládání změnilo k lepšímu.
Ve všech případech je potřeba zajistit dostatek paměti, vývojová prostředí
jsou velmi náročná (a s méně než 256 MB je nelze rozumně provozovat).
Odkazy
Java Development Kit
Instalace Javy pod Linuxem
Vývojová prostředí
Nyní máme nainstalováno vše, co je třeba (tedy JDK včetně dokumentace a vývojové prostředí),
posuneme se tedy dále. Při psaní programů (a to i těch nejjednodušších) je dobré dodržovat
určité pravidla, jak má kód vypadat - usnadňuje to jak porozumnění kódu jinými lidmi, tak
i orientaci v programu. Označme to termínem "štábní kultura". Protože je zbytečné
vymýšlet vymyšlené, podíváme se na pravidla psaní kódu tak, jak je doporučují přímo
tvůrci Javy. Druhá část příštího dílu bude věnována věcem, které jsou typické pro jazyk
Java a měl by je každý znát.
|
|
DISCUSSION
For this item is no comments.
|
Add comment is possible for logged registered users.
|
|
Search Software
Search Google
|