Java 11, JavaFX, IntelliJ IDEA und Linux

Die Überschrift sagt schon alles: In diesem Beitrag geht es darum, Programme mit Java 11 und JavaFX in der IntelliJ IDEA unter Linux zu entwickeln. Als Testumgebung dienten Ubuntu 18.10 und Fedora 29. (Unter Ubuntu 18.04 stehen noch immer keine offiziellen Java-11-Pakete zur Verfügung.)

Die IntelliJ IDEA mit einem Java-11-Projekt samt JavaFX unter Ubuntu 18.10

Wie ich in meinem Blog-Beitrag zu Java 11 schon erläutert habe, ist JavaFX nicht mehr in Java 11 enthalten. Das erforderliche JavaFX-SDK steht zwar weiterhin kostenlos zur Verfügung, die Entwicklung und Weitergabe von JavaFX-Programmen ist aber nun viel umständlicher als bisher.

Java 11 installieren

Fedora 29 und Ubuntu 18.10 enthalten bereits Java-11-Pakete. Die Installation ist daher ein Kinderspiel:

dnf install java-11-openjdk-devel   (Fedora)
apt install openjdk-11-jdk          (Ubuntu)

JavaFX installieren

JavaFX kann hier kostenlos heruntergeladen werden. (JavaFX wird nun von der Community gepflegt. Die Downloads stellt die Firma Gluon zur Verfügung.) Sie können die Dateien nun in ein beliebiges Verzeichnis installieren. Ich habe die Installation auf meinen Testgeräten direkt
im Heimatverzeichnis durchgeführt, also:

unzip Downloads/openjfx-11.0.1_linux-x64_bin-sdk.zip

Die JavaFX-Dateien landen dann im Unterverzeichnis javafx-sdk-11.0.1.

IntelliJ IDEA installieren

Die Java-Entwicklungsumgebung IntelliJ IDEA kann hier heruntergeladen werden. Zur Installation packen Sie das TAR-Archiv aus:

cd
tar xzf Downloads/idea-nnn.tar.gz

Der erste Start erfolgt manuell im Terminal:

./idea-nnn/bin/idea.sh

Wenn Sie im Setup-Assistenten die Default-Optionen belassen, wird für die Entwicklungsumgebung ein Starter eingerichtet, so dass das Programm in Zukunft in den Gnome-Aktivitäten auftaucht. Erfreulicherweise findet die IntelliJ IDEA das Java-11-SDK selbstständig.

JavaFX-Projekte einrichten

Damit IntelliJ die JavaFX-Bibliotheken findet und richtig nutzt, müssen zwei Projekteinstellungen verändert werden:

  • Im Dialog File/Project Structure, Dialogblatt Modules/Dependencies wählen Sie mit dem Plus-Button JARs or directories aus und geben dann den Pfad zu Ihren lokalen JavaFX-Dateien an, also z.B. /Users/kofler/javafx-sdk-11.0.1/lib/. Damit sollte IntelliJ im Quellcode alle javafx-Importe verstehen und in der Lage sein, das Programm zu kompilieren.

  • Im Dialog Run/Edit Configuration fügen Sie bei den VM options die folgenden zwei Optionen hinzu. (Dabei müssen Sie natürlich den Pfad durch den Ort auf Ihrem Rechner ersetzen.)

--module-path /Users/kofler/javafx-sdk-11.0.1/lib --add-modules=javafx.controls,javafx.fxml
Projekteinstellungen in IntelliJ
Run-Configuration in IntelliJ

2 Gedanken zu „Java 11, JavaFX, IntelliJ IDEA und Linux“

  1. Vielen Dank für den Artikel. Nur drei kleine Hinweise:

    IntelliJ IDEA lässt sich unter Ubuntu auch über „snap“ installieren:

    sglasen@wizzard:~$ snap find intellij
    Name Version Herausgeber Hinweise Zusammenfassung
    intellij-idea-ultimate 2018.2.5 jetbrains✓ classic Capable & Ergonomic Java IDE for Enterprise, Web & Mobile Development
    intellij-idea-community 2018.2.5 jetbrains✓ classic Capable & Ergonomic Java IDE
    intellij-idea-educational 2018.2.4 jetbrains✓ classic IntelliJ IDEA Educational Edition

    Das erspart einem das manuelle Updaten. Da die Pakete direkt von Jetbrains kommen, ist man auch auf der sicheren Seite. Auch deren andere IDEs sind im Snap-Store vorhanden.

    Ubuntu 18.10 liefert JavaFX11 in den Paketquellen mit aus. Die Jars liegen dann unter „/usr/share/openjfx/libs/“.
    Es empfiehlt sich den JavaFX SceneBuilder gleich mit zu installieren: https://gluonhq.com/products/scene-builder/. Das macht die Entwicklung von grafischen Oberflächen etwas schmerzfreier.

Kommentare sind geschlossen.