Sowohl OpenJDK als auch GCJ können auf Debian installiert werden, und jetzt frage ich mich, was passiert. Bieten diese nicht die gleiche Funktionalität?
Debians Haltung ist, dass es außer bestimmten kritischen Systemkomponenten, die als erforderlich angesehen werden¹, keine bevorzugte Software gibt. Wenn zwei Programme ähnliche Funktionen bieten und beide für Debian² geeignet sind und ein Debian-Entwickler bereit ist, jedes Paket zu warten, landen beide Programme in Debian. Die Idee ist, dass es Sache des Benutzers ist, das zu verwendende Programm auszuwählen.
Auf einem bestimmten System kann höchstens eine Java-Implementierung sein /usr/bin/java
. Dies wird durch den alternativen Mechanismus entschieden : Jede Java-Implementierung hat eine Priorität (die von den Betreuern der beteiligten Debian-Pakete einvernehmlich festgelegt wird), und jede Implementierung, die auf einem bestimmten System installiert ist, hat die höchste Priorität /usr/bin/java
. Der Systemadministrator kann dies überschreiben, indem er die /etc/alternatives/java
symbolische Verknüpfung manuell ändert . Wenn mehrere JVMs installiert sind, können Benutzer von Fall zu Fall auswählen, ob sie ausgeführt /usr/lib/jvm/java-6-openjdk/jre/bin/java
werden /usr/lib/jvm/java-6-sun/jre/bin/java
sollen usw.
¹
Oder zumindest dringend empfohlen.
²
Die bekannteste Anforderung ist, dass das Programm mit einigen Ausnahmen freie Software sein muss ( non-free
); Ein weiterer Grund ist, dass es nicht zu fehlerhaft sein darf.
Beide sind größtenteils in Ordnung: OpenJDK wird standardmäßig auf unterstützten Plattformen installiert, andernfalls wird stattdessen GCJ verwendet.
Referenz: http://wiki.debian.org/Java
quelle