Portál AbcLinuxu, 8. května 2025 14:33

Platforma Java a Fedora 14

6.12.2010 16:17 | Přečteno: 1277× | Výběrový blog | poslední úprava: 13.12.2010 15:56

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á.

Platforma Java a Fedora

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.

Instalace OpenJDK

OpenJDK je rozděleno do několika balíčků (nejdůležitější jsou zvýrazněny):

Každý si může nainstalovat jen to, co potřebuje. Osobně si instaluju všechno.

Instalace referenční implementace

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 stále váhá…

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í.

Přepínání mezi implementacemi

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).

       

Hodnocení: 50 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

7.12.2010 10:27 Zadejte prosím své jméno.
Rozbalit Rozbalit vše Re: Platforma Java - samorozbalovátor
Odpovědět | Sbalit | Link | Blokovat | Admin
Takto se distribuje proto, abys musel při každé instalaci souhlasit s jejich licencí. Mimochodem četl jsi li někdy?
11.12.2010 20:13 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: Platforma Java a Fedora 14
Odpovědět | Sbalit | Link | Blokovat | Admin
"Rozdíly jsou velmi malé". To bohužel není pravda. OpenJDK má velké mezery u desktopového nasazení, chybí tam několik věcí a je tam podstatně více chyb.

Problém je ten, že vývojáři obvykle testují na Sunu, tzn. s "trošku rozdílným" OpenJDK "to prostě padá". U serverových aplikací to není tak špatné, ale od ideálního stavu to má daleko. Ostatní open-source implementace raději ani zmiňovat nemůžu.

Řešení?

a) Používejte výhradně Sun. Nebo více linuxové řešení:

b) Testujte své aplikace na OpenJDK. ;-)
Later --- Lukáš Zapletal

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.