Hlavní navigace

Java na Linuxu, JDK

binary runner

V následujícím textu si uděláme přehled několika JDK běžně dostupných pro Linux - Sun JDK, IBM JDK, Kaffe a Blackdown JDK. Podíváme se na jejich obsah, specifika, licenční podmínky a na to, jak nastavit prostředí pro vývoj Java aplikací.

Sun Java 2 SDK

Java 2 SDK bude pravděpodobně to první, po čem sáhnete, když se rozhodnete programovat v Javě. V dané verzi jde obvykle o JDK, které je první k dispozici. Oficiální release je možno si stáhnout jako RPM i TGZ z java.sun.com, má přibližně 38 MB. Pokud jste registrováni v Java Developer Connection, máte možnost dostat se i k raným verzím v rámci tzv.Early Access. Registrovat se může každý zdarma.

Možná si kladete otázku, proč si musíte JDK stahovat z webu a není součástí vaší distribuce vypálené z webu. Ano, modří už vědí, neumožňuje to licence. Ta dovoluje šířit JDK pouze s programy, které přidávají zásadní funkcionalitu, neumožňuje společně s JDK distribuovat software nahrazující jeho části a další. To pochopitelně brání zahrnutí JDK do volně šiřitelných verzí distribucí Linuxu. Pokud máte komerční verzi distribuce, JDK v ní je (platí pro Red Hat Linux Professional, Mandrake Linux Standard Edition, SuSE Linux Standard Edition). Vám ostatním nezbude, než si Sun JDK stáhnout sami.

Pro většinu aplikací vystačíte s verzí Standard Edition (SE). Pokud instalujete ze staženého RPM, JDK se rozbalí do adresáře /usr/java a manuálové stránky umístí do /usr/local/man/. Součástí distribuce je i zdrojový kód tříd v souboru src.zip a některé Java Extensions – Java Secure Socket Extensions (JSSE) (soubor jsse.jar), Java Cryptography Extension (JCE) (jce.jar) a Java Plug-in (javaplugin.jar).

Pokud instalujeme aktuální verzi JDK 1.4, adresář s JDK se jmenuje j2sdk1.4. Pak se vyplatí doplnit si do .bash_profile nebo systémového /etc/profile řádky:

export JAVA_HOME="/usr/java/j2sdk1.4/"
PATH="$JAVA_HOME/bin":$PATH
BOOTSTRAP_CLASSPATH="$JAVA_HOME/jre/lib/rt.jar:\
$JAVA_HOME/jre/lib/jsse.jar:$JAVA_HOME/jre/lib/jce.jar"
EXTENSION_CLASSPATH="/usr/java/classes:/usr/share/java"
export CLASSPATH="."

Význam pojmů boostrap a extension classes, případně classpath, snad dostatečně osvětlil minulý díl. Přesunutí JDK na začátek cesty je trik, jak vyšachovat Kaffe (viz. dále), aniž by bylo potřeba ho odinstalovat.

IBM Java 2 SDK

V rámci IBM developerWorks je k dispozici další JDK pro Linux, IBM Java 2 SDK. Jeho výhodou oproti konkurenčním JDK je vyšší výkon, který potvrzují některé testy, zdají se tomu odpovídat i mé subjektivních zkušenosti. Je však zatím dostupné jen ve verzi 1.3, což může být pro někoho nevýhodou, zvlášť pokud si chce vyzkoušet nově zahrnutá API jako JAXP nebo JNDI. Stáhnout JDK si můžeteve formátu RPM (33 MB). Instaluje se do adresáře /opt/IBMJava2-xx, díky čemuž není problém ho používat souběžně s jinými JDK. Začátečníkům s Javou bude jistě sympatický nápad zahrnout do distribuce i řadu užitečných demonstračních programů.

Licence na první pohled vypadá, že snad umožňuje redistribuci JDK, pokud zachováte všechny doklady o vlastníkovi copyrightu, mluví však nejasně. Zato přiložené README se vyjadřuje naprosto jednoznačně a redistribuci neumožňuje.

Kaffe

Pokud patříte k zastáncům ideí GNU a máte rádi Javu, dejte si Kaffe. Bráno striktně dle definice Kaffe není Java, nemá totiž certifikaci od Sun Microsystems. Ono se není čemu divit – i kdyby nehrály roli peníze, pak množství nekompatibilit achyb přehlédnout bohužel nejde. Vývoj se však nezastavil, a tak se můžeme těšit na nové verze tohoto perspektivního softwarového balíku.

Díky své licenci bývá toto JDK běžnou součástí distribucí, Mandrake ho dokonce využívá ve svých wizardech pro konfigurace kdečeho (což je také důvod, proč ho běžný uživatel této distribuce nebude chtít odinstalovat). Potěšujícím rysem Kaffe je jeho vyšší rychlost oproti Sun JDK dosažená vlastní implementací JVM i tříd. Do budoucna se navíc rýsuje zajímavá možnost integrace s kompilátorem GCJ, která má umožnit kombinování předkompilovaného a za běhu kompilovaného kódu.

Blackdown JDK

Blackdown JDK je port Sun JDK na Linux a je založený na zdrojovém kódu licencovaném od Sun Microsystems v době, kdy tato firma s vydáním vlastního JDK pro Linux otálela. Uvolnění poslední verze 1.3.1 bylo oznámeno v září 2000 a na 1.4 se snad pracuje. Vzhledem k tomu, že licence Blackdown JDK je prakticky totožná s licencí Sun JDK, jsem z něj trochu rozpačitý, a protože s ním nemám osobní zkušenosti, nevidím zásadní výhodu v jeho využití. Tím mu nechci nijak ubírat na kvalitách, o nichž svědčí například ocenění JavaWorld Editor's Choice 2001 pro Blackdown JVM. Zmiňuji se o něm spíše ve snaze o větší objektivitu.

Takže shrnutí: Sun JDK, pokud chcete to nejnovější standardní JDK, IBM JDK pro výkon a Kaffe pro licenci, experimenty a potenciál do budoucna. Příště Jikes a GCJ.

Našli jste v článku chybu?

6. 6. 2002 10:54

Als (neregistrovaný)

Mohu potvrdit, take pouzivam Blackdown JDK uz od pocatku a jevi se mi jako vice stabilni v Mozille (Galeonu) nez sunovske, ktere jsem i nedavno znovu zkousel.

6. 6. 2002 9:46

Jan Němec (neregistrovaný)

Díky za zajímavý přehled. O těch licenčních problémech jsem nevěděl a článek mi rozšířil obzory. Uvítal bych podobný přehledový článek o javovských pluginech a především o zobrazování českých znaků. (Mimochodem funguje někomu z Vás čeština v blackdowním pluginu?)

DigiZone.cz: „Black Friday 2016“: závěrečné zhodnocení

„Black Friday 2016“: závěrečné zhodnocení

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Vitalia.cz: Co pomáhá dítěti při zácpě?

Co pomáhá dítěti při zácpě?

Podnikatel.cz: Udávání kvůli EET začalo

Udávání kvůli EET začalo

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

120na80.cz: Na ucho teplý, nebo studený obklad?

Na ucho teplý, nebo studený obklad?

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie