OpenJDK i GCJ jsou k dispozici pro instalaci v Debianu a teď by mě zajímalo, co se děje. Neposkytují tyto funkce stejnou funkci?
Přijatá odpověď:
Postoj Debianu je takový, že kromě určitých kritických systémových komponent, které jsou považovány za nutné¹, neexistuje žádný preferovaný software. Pokud dva programy poskytují podobnou funkcionalitu a oba jsou vhodné pro Debian² a je zde vývojář Debianu ochotný udržovat každý balíček, pak oba programy skončí v Debianu. Myšlenka je taková, že záleží na uživateli, který program použije.
V daném systému může být maximálně jedna implementace Java /usr/bin/java
. O tom rozhoduje mechanismus alternativ:každá implementace Java má prioritu (určenou společnou dohodou mezi správci příslušných balíčků Debianu) a kterákoli implementace, která je nainstalovaná na konkrétním systému, má nejvyšší prioritu, bude /usr/bin/java
. Správce systému to může přepsat ruční změnou /etc/alternatives/java
symbolický odkaz. A pokud je nainstalováno několik JVM, uživatelé si mohou případ od případu zvolit spuštění /usr/lib/jvm/java-6-openjdk/jre/bin/java
, /usr/lib/jvm/java-6-sun/jre/bin/java
, atd.
¹ Nebo alespoň důrazně doporučeno.
² Nejznámějším požadavkem je, že program musí být svobodný software, s některými výjimkami (non-free
); další je, že nesmí být příliš zabugovaný.