LINUXSOFT.cz
Username: Password:     
    CZ UK PL

> 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 38240×

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.

  1. 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).
  2. 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.
  3. 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).
  4. 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).
  5. 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.
  6. 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
1. Pacman linux
Download: 4881x
2. FreeBSD
Download: 9068x
3. PCLinuxOS-2010
Download: 8565x
4. alcolix
Download: 10950x
5. Onebase Linux
Download: 9662x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6249x

1. xinetd
Download: 2414x
2. RDGS
Download: 937x
3. spkg
Download: 4762x
4. LinPacker
Download: 9969x
5. VFU File Manager
Download: 3199x
6. LeftHand Mała Księgowość
Download: 7204x
7. MISU pyFotoResize
Download: 2813x
8. Lefthand CRM
Download: 3564x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3124x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz