Java 11, JavaFX und IntelliJ IDEA

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 diente Ubuntu 18.10. (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

Ubuntu 18.10 enthält bereits Java-11-Pakete. Die Installation ist daher ein Kinderspiel:

apt install openjdk-11-jdk

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