Portál AbcLinuxu, 8. května 2025 14:33
Instaloval jsem si operační systém Fedora 14 z CD, na kterém ale není Platforma Java. Sepsal jsem proto krátký návod, který se tímto nedostatkem zabývá.
Vztah implementací Platformy Java a Fedory byl vždy poměrně komplikovaný, a to hlavně z právních důvodů. Otázka, která zajímá většinu nezasvěcených uživatelů Platformy Java, zní: obsahuje (v softwarových repositářích) Fedora „normální Javu“ (tj. referenční implementaci od společnosti Sun Microsystems, resp. Oracle)? Odpověď je jednoduchá. Neobsahuje.
Obsahuje tedy Fedora „alespoň“ jinou implementaci? Ano, a dokonce hned několik implementací. Ani s tou „normální Javou“ to nakonec není tak zlé, jen to chce trochu snahy.
Takže co vlastně Fedora obsahuje? Převevším to je OpenJDK (ve spojení s projektem IcedTea), což je de facto zmíněná „normální Java“ — rozdíly jsou velmi malé. Ruku na srdce, je to jediná seriózní (co do úplnosti a funkčnosti) implementace aktuální stabilní verze Platformy Java, která v tomto operačním systému je k dispozici.
Kromě OpenJDK Fedora nabízí projekty jako GCJ (GNU Compiler for Java, součást GNU Compiler Collection) nebo ECJ (Eclipse Compiler for Java, součást Eclipse Java Development Tools). Já ale všechno mimo OpenJDK nepovažuju za způsobilé pro běžnou práci (ať už je to co chce) a nebudu se tím zabývat. Může se to nicméně hodit ke studijním účelům, různým pokusům atd.
OpenJDK je rozděleno do několika balíčků (nejdůležitější jsou zvýrazněny):
/usr/share/javadoc/java-1.6.0-openjdk
),/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/src.zip
),/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/demo
).Každý si může nainstalovat jen to, co potřebuje. Osobně si instaluju všechno.
Tato implementace není v repositářích Fedory, takže je potřeba ji stáhnout ze stránek společnosti Oracle. Lze si stáhnout buď běhové prostředí, nebo vývojářské nástroje (mezi nimiž je zahrnuto i běhové prostředí); obojí je k dispozici pro několik typů procesorů. I formu si lze zvolit; nabízeny jsou balíčky RPM a neinstalační verze. Zvolte balíčky.
Ať už stáhnete cokoli, je to ve formě „samorozbalovacího archivu“ (sic). Je to vlastně program, po jehož spuštění se vytvoří soubory, které jsou zabalené v něm samotném. Proč to Oracle nedistribuuje nějakým inteligentním způsobem mi není známo.
Jak na to: přidejte tomuto souboru práva ke spouštění a spusťte ho. Ale pozor! S argumentem -x
! Ten zaručí, že program nic nebude instalovat a soubory z archivu jen vybalí (do adresáře, kde je archiv, takže doporučuji pro celou operaci vytvořit zvláštní adresář). Mimo jiného to má i ten důvod, že minimálně v některých verzích mi instalátor „padal“ po odsouhlasení licence (jak by se asi choval po zamítnutí?).
Z archivu by mělo vypadnout několik balíčků. Instalujte balíček začínající na „jre“ (pokud jste si stáhli běhové prostředí), nebo na „jdk“ (pokud jste si stáhli vývojářské nástroje). Zbylé balíčky jsou závislosti.
Tento způsob instalace je nicméně trochu nešťastný, jelikož v systému například nebudou dostupné manuálové stránky jednotlivých nástrojů (javac
atd.), to si musí zařídit každý sám.
Také zdrojové kódy Java SE API nebo z nich vygenerovanou dokumentaci je třeba stáhnout zvlášť. Lze to i obejít a nainstalovat si příslušné balíčky OpenJDK — dokumentace je stejná, zdrojové kódy většinou taky. Platforma Java jako taková je ale samozřejmě plně funkční i bez toho.
Kdo neví, co si má nainstalovat, ať si nainstaluje OpenJDK. Alespoň ze dvou důvodů. Zaprvé, stav tohoto projektu je v současné době uspokojivý a osobně s ním nemám žádný problém (což jsem dříve měl). A zadruhé, OpenJDK se většině lidí dříve nebo později do systému stejně dostane — jako závislost jiných balíčků, protože ty často závisejí přímo na OpenJDK (nebo třeba GCJ), nikoli na zcela libovolné implementaci Platformy Java…
Ukáže-li se, že je OpenJDK nevyhovující, samozřejmě není problém jej odstranit a nahradit (nebo jen doplnit) referenční implementací.
Pokud máte instalováno několik implementací Platformy Java, což se může stát snadno, protože balíčky z repositáře Fedory mají všelijaké závislosti, mohou nastat zmatky mezi příkazy. K přepínání mezi nimi ve Fedoře slouží program alternatives (příp. jeho grafické uživatelské rozhraní galternatives).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.