LINUXSOFT.cz Přeskoč levou lištu

ARCHIV



   

> 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 | Články autora | přečteno 38232×

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.

Verze pro tisk

pridej.cz

 

DISKUZE

IDE 6.5.2005 09:08 Petr Zajíc
Muj vyber 6.5.2005 14:25 Petr Aubrecht
  L Re: Muj vyber 9.5.2005 08:05 Jozef Hríbik
    L Re: Muj vyber 9.5.2005 12:01 Lukáš Zapletal
      L Re: Muj vyber 9.5.2005 15:40 Jozef Hríbik




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

28.11.2018 23:56 /František Kučera
Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1

12.11.2018 21:28 /Redakce Linuxsoft.cz
22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář

6.11.2018 2:04 /František Kučera
Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

4.10.2018 21:30 /Ondřej Čečák
LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář

18.9.2018 23:30 /František Kučera
Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

9.9.2018 14:15 /Redakce Linuxsoft.cz
20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business. Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář

12.8.2018 16:58 /František Kučera
Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář

16.7.2018 1:05 /František Kučera
Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

31.7.2023 14:13 / Linda Graham
iPhone Services

30.11.2022 9:32 / Kyle McDermott
Hosting download unavailable

13.12.2018 10:57 / Jan Mareš
Re: zavináč

2.12.2018 23:56 / František Kučera
Sraz

5.10.2018 17:12 / Jakub Kuljovsky
Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze