Benutzer-Werkzeuge

Webseiten-Werkzeuge


comp:orajava
Übersetzungen dieser Seite?:

Oracle Java in /etc/alternatives aufnehmen

Es gibt dazu viele spannende Anleitungen, z. B. https://dalanzg.github.io/tips-tutorials/opensuse/2017/03/18/change-openjdk-to-oracle-jdk-in-opensuse/ oder die „offizielle“ Version auf https://en.opensuse.org/SDB:Installing_Java, eingedeutscht unter https://de.opensuse.org/Sun_Java verfügbar.

Hier nur kurz, wie ich vorgegangen bin.

  • von der Oracle-Seite http://www.oracle.com/technetwork/java/javase/downloads/index.html habe ich mir das aktuellste JDE für Java 1.8 heruntergeladen, und zwar als rpm
  • das habe ich dann als root installiert mit dem Befehl rpm -ivh ~werner/down/orakel/jdk-8u152-linux-x64.rpm
  • das Schöne daran ist, dass sich das Paket nach /usr/java installiert, wo es von openSUSE-Paketen völlig unberührt ist, und dass es einen Link /usr/java/latest zur jeweils aktuellen Version anlegt. Das kann ich im Folgenden nutzen
  • wir komprimieren mal die man-Pages
    cd /usr/lib/java/latest/man/man1
    gzip *.1
  • das Export-Verzeichnis wird vorbereitet:
    mkdir /usr/lib64/jvm-exports/jdk_latest
    cd /usr/lib64/jvm-exports/jdk_latest
    for DAT in jaas jdbc-stdext jndi jndi-cos jndi-ldap jndi-rmi sasl; do \
      ln -s /usr/java/latest/jre/lib/rt.jar ${DAT}-1.8.0_Orac.jar; \
      ln -s ${DAT}-1.8.0_Orac.jar ${DAT}-1.8.0.jar; \
      ln -s ${DAT}-1.8.0_Orac.jar ${DAT}.jar; \
    done
    ln -s jdbc-stdext-1.8.0_Orac.jar jdbc-stdext-3.0.jar
    ln -s /usr/java/latest/jre/lib/jce.jar jce-1.8.0_Orac.jar
    ln -s jce-1.8.0_Orac.jar jce-1.8.0.jar
    ln -s jce-1.8.0_Orac.jar jce.jar
    ln -s /usr/java/latest/jre/lib/jsse.jar jsse-1.8.0_Orac.jar
    ln -s jsse-1.8.0_Orac.jar jsse-1.8.0.jar
    ln -s jsse-1.8.0_Orac.jar jsse.jar
  • zuerst wird Java selbst in /etc/alternatives aufgenommen. Der Befehl steht im Original auf einer Zeile und wird hier der Lesbarkeit wegen umbrochen
    /usr/sbin/update-alternatives --install /usr/bin/java java /usr/java/latest/bin/java 18152 \
        --slave /usr/share/man/man1/java.1.gz java.1.gz /usr/java/latest/man/man1/java.1.gz \
        --slave /usr/lib64/jvm/jre jre /usr/java/latest/jre \
        --slave /usr/lib64/jvm-exports/jre jre_exports /usr/lib64/jvm-exports/jdk_Oracle \
        --slave /usr/bin/keytool keytool /usr/java/latest/bin/keytool \
        --slave /usr/share/man/man1/keytool.1.gz keytool.1.gz /usr/java/latest/man/man1/keytool.1.gz \
        --slave /usr/bin/orbd orbd /usr/java/latest/bin/orbd \
        --slave /usr/share/man/man1/orbd.1.gz orbd.1.gz /usr/java/latest/man/man1/orbd.1.gz \
        --slave /usr/bin/policytool policytool /usr/java/latest/bin/policytool \
        --slave /usr/share/man/man1/policytool.1.gz policytool.1.gz /usr/java/latest/man/man1/policytool.1.gz \
        --slave /usr/bin/rmid rmid /usr/java/latest/bin/rmid \
        --slave /usr/share/man/man1/rmid.1.gz rmid.1.gz /usr/java/latest/man/man1/rmid.1.gz \
        --slave /usr/bin/rmiregistry rmiregistry /usr/java/latest/bin/rmiregistry \
        --slave /usr/share/man/man1/rmiregistry.1.gz rmiregistry.1.gz /usr/java/latest/man/man1/rmiregistry.1.gz \
        --slave /usr/bin/servertool servertool /usr/java/latest/bin/servertool \
        --slave /usr/share/man/man1/servertool.1.gz servertool.1.gz /usr/java/latest/man/man1/servertool.1.gz \
        --slave /usr/bin/tnameserv tnameserv /usr/java/latest/bin/tnameserv \
        --slave /usr/share/man/man1/tnameserv.1.gz tnameserv.1.gz /usr/java/latest/man/man1/tnameserv.1.gz
  • etwas einfacher lässt sich das Java-Plugin für den Browser integrieren:
    /usr/sbin/update-alternatives --install /usr/lib64/browser-plugins/javaplugin.so javaplugin /usr/java/latest/jre/lib/amd64/libnpjp2.so 18152 \
        --slave /usr/bin/javaws javaws /usr/java/latest/jre/bin/javaws \
        --slave /usr/share/man/man1/javaws.1 javaws.1 /usr/java/latest/man/man1/javaws.1

Ja, das war es schon :-). Ich finde es einfacher als das Auspacken der .tar.gz.-Dateien, die man ebenfalls bei Oracle herunterladen kann, wie es auf den openSUSE-Seiten beschrieben ist. Und es hat den Vorteil, dass man es wahrscheinlich nie wieder anfassen muss, denn ein neueres Paket installiert sich dann ebenfalls nach /usr/java und biegt den Symlink latest entsprechend um. Damit muss sich die Alternatives-Konfiguration nie mehr ändern :-D

comp/orajava.txt · Zuletzt geändert: 2017-11-06 1456 von werner