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.)
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 allejavafx
-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
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.
besten Dank für die Hinweise