Menüs

Zulu: OpenJDK 11 und JavaFX installieren

Nach der Version von Java 8 ist imho ein ziemliches Chaos ausgebrochen. JavaFX wurde ausgegliedert und ist nun eine eigenständige Anwendung. Zudem ist Java 11 zwar eine LTS-Version, aber sie ist nur für zahlende Kunden verfügbar. Will man Java weiterhin kostenlos nutzen, bleibt nur noch auf das von der Java-Community gewartete Java-Release auf OpenJDK-Basis auszuweichen. Unter Ubuntu kann man OpenJDK 11 und JavaFX zwar installieren, hat aber mit einigen Hürden zu kämpfen.

Ubuntu installiert Version 10 anstelle von 11

Es fängt damit an, dass in Ubuntu 18.xx sudo apt-get install openjdk-11-jdk nicht die Version OpenJDK11, sondern die Version OpenJDK 10 installiert, was man mit java -version einfach prüfen kann.

Um OpenJDK 11 zu installieren, muss man das ppa: von OpenJDK einbinden und darüber installieren.

:~$ sudo add-apt-repository ppa:openjdk-r/ppa
:~$ sudo apt update
:~$ sudo apt install -y openjdk-11-jdk

Dort kann man nun JavaFX z.B. von dieser -> Seite einbinden.

Komplettpaket ZuluFX

Alternativ und von mir bevorzugt kann man ZuluFX von Azul Systems verwenden, das man -> hier herunterladen kann. Das tar-File entpackt man z.B. in den Pfad /usr/lib/jvm/zuluFX (Die Unterverzeichnisse muss man anlegen bzw. umbenennen). Ich gehe hier davon aus, dass das heruntergeladene Archiv im Download-Verzeichnis des Benutzers liegt.

:~$ cd /usr/lib/jvm
:~$ sudo tar ~/Downloads/xvzf zulu11.2.5-ca-fx-jdk11.0.1-linux_x64.tar.gz

Das Verzeichnis benenne ich einfach um, so dass die Filestruktur unter /usr/lib/jvm/zuluFX liegt. Nun muss Ubuntu noch darüber informiert werden, wo Java zu finden ist, indem man die Pfade erweitert.

:~$ sudo nano /etc/environment

Der Pfad wird in der PATH-Zeile hinten anhgehängt (Doppelpunkt beachten!) und die Systemvariable JAVA_HOME wird angefügt.

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/zuluFX/bin"
JAVA_HOME="/usr/lib/jvm/zuluFX"

Jetzt wird Ubuntu über die neue Java-Version informiert.

:~$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/zuluFX/dk-11/bin/java" 0
:~$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/zuluFX/bin/javac" 0
:~$ sudo update-alternatives --set java /usr/lib/jvm/zuluFX/bin/java
:~$ sudo update-alternatives --set javac /usr/lib/jvm/zuluFX/bin/javac

Version ok?

Nach einem erneuten Login kann man die Version mit

:~$java -version

prüfen. Die Ausgabe sollte nun lauten:

openjdk version "11.0.1" 2018-10-16 LTS
OpenJDK Runtime Environment Zulu11.2+5-CA (build 11.0.1+13-LTS)
OpenJDK 64-Bit Server VM Zulu11.2+5-CA (build 11.0.1+13-LTS, mixed mode)

Permission denied?

Da immer wieder der Fehler gemacht wird, dass „normale“ Systemarbeiten als root ausgeführt werden und dann festgestellt wird, dass die Dateirechte nicht korrekt gesetzt sind, hier noch die Korrektur, falls man auf die Versionsabfrage ein Permission denied bekommt:

:~$ sudo chmod a+x /usr/bin/java
:~$ sudo chmod a+x /usr/bin/javac
:~$ sudo chmod a+x /usr/bin/javaws
:~$ sudo chown -R root:root /usr/lib/jvm/zuluFX

Buy Me a Coffee at ko-fi.com

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.