Wie steht Debian zu GCJ und OpenJDK?

7

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?

Tshepang
quelle

Antworten:

12

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/javasymbolische 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/javawerden /usr/lib/jvm/java-6-sun/jre/bin/javasollen 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.

Gilles 'SO - hör auf böse zu sein'
quelle
1
Systemadministratoren, die mit Alternativen herumspielen, möchten möglicherweise auch "update-alternatives -config java" verwenden, das die verfügbaren Anbieter auflistet und dann den Symlink gemäß Ihrer Auswahl festlegt.
Thomas Themel
4

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

OneOfOne
quelle
1
Debian verwendet standardmäßig OpenJDK und wenn es nicht unterstützt wird, verwendet es GCJ.
OneOfOne