Export eines Eclipse-Projektes als ZIP- oder TAR-Archiv.

Eclipse IDE for Java Developers. Version: 2023-03 (4.27.0)

Der Artikel erläutert die Einrichtung von Eclipse, um Anwendungen nichtmodular mit JavaFX entwickeln zu können.

Installation von e(fx)clipse

e(fx)clipse ist ein Eclipse-Plugin, das für die Arbeit mit CSS und FXML hilfreich sein kann, für die Entwicklung mit JavaFX jedoch nicht zwingend erforderlich ist.
Die Installation erfolgt über den Eclipse Marketplace, der sich im Hilfe-Menu befindet. Am einfachsten findet man das Plugin über die Suche. Nach erfolgreicher Installation wird dies rechts unter der Pluginbeschreibung angezeigt und der User wird zum Neustart der IDE aufgefordert. Dies kann jedoch problemlos bis zum Abschluss der nachfolgenden Anpassungen verschoben werden.

Installation von e(fx)clipse über den Eclipse Marketplace

Download des JavaFX Software Development Kit

Unabhängig von der Installation von e(fx)clipse muss im nächsten Schritt das JavaFX SDK unter https://gluonhq.com/products/javafx/ heruntergeladen und anschließend entpackt werden. Im enthaltenen Verzeichnis lib befinden sich eine Reihe von *.jar-Archiven, die die JavaFX-Dateien kapseln und im nächsten Schritt verwendet werden, um eine User Library zu erzeugen.

Erzeugung und Einbindung einer JavaFX User Library

Um JavaFX in ein Projekt einbinden zu können, muss eine Bibliothek erzeugt werden. Dies erfolgt im allgemeinen Eclipse-Einstellungsfenster, nicht in den Einstellungen eines Projektes!

Unter Java → Build Path → User Libraries (1) wird mit New (2) ein Fenster zur Eingabe des Bibliotheksnamens (3) geöffnet. Nach Bestätigung mit OK wird die Bibliothek im Hauptfenster gelistet.

Nach Markierung des Bibliotheksnamens können durch Aktivieren von Add External JARs... alle o.a. *.jar Archive hinzugefügt werden. Nach Apply and Close ist die Einrichtung der Bibliothek abgeschlossen.

Erzeugung eines JavaFX-Projektes

Jetzt kann ein neues Projekt erzeugt werden. Wenn e(fx)clipse installiert wurde, findet sich im Dialog für die Erzeugung von Projekten eine neue Kategorie JavaFX, über die dies geschehen kann. Hierbei wird auch sogleich eine Startklasse Main.java erzeugt. Im anderen Fall müssen ein einfaches Java Projekt und die Startklasse selbst erzeugt werden.
Allerdings zeigt Eclipse anschließend eine ganze Reihe an Fehlermeldungen:

Dies lässt sich durch die Einbindung der neu erzeugten Benutzerbibliothek unterbinden. Hierzu wird der Eigenschaftsdialog des Projektes geöffnet und dort unter Java Build Path (1) und dem Reiter Libraries (2) der Eintrag Modulpath (3) aktiviert. Anschließend können Add Libray (4) gewählt und die gebildete JavaFX User Library hinzugefügt werden.

Ein eventuell unter Modulpath vorhandener Eintrag JavaFX SDK kann anschließend gelöscht werden. Möglicherweise handelt es sich dabei um ein von e(fx)clipse mitgeliefertes veraltetes oder nicht erreichbares SDK.

Nach Bestätigung der Änderungen sind die Fehlermarkierungen im Quelltext verschwunden und die Klasse kann durch Run gestartet werden. Erstaunlicherweise wird einerseits die graphische Oberfläche der Startklasse jedoch nicht angezeigt, andererseits terminiert sie aber auch nicht.

Um dies abzustellen beendet man die Anwendung durch Aktivieren des roten Laufzeit-Buttons rechts in Eclipse' Console View und erzeugt, falls noch nicht vorhanden, eine neue Run Configuration über das Menu Run. Dort muss im Register (x)= Arguments (1) die Checkbox 'Use the -XstartOnFirstThread argument when launching with SWT' (2) deaktiviert werden.
In der Dokumentation von openjfx wird darüber hinaus angegeben, dass im Feld VM arguments zusätzlich der folgende Eintrag erfolgen muss.

// Linux/MacOS
--module-path /path/to/javafx-sdk-21/lib --add-modules javafx.controls,javafx.fxml

// Windows
--module-path "\path\to\javafx-sdk-21\lib" --add-modules javafx. controls,javafx.fxml

Dabei muss der Wert des Parameters --module-path natürlich auf das lib-Verzeichnis des obigen Downloads zeigen. In der vorliegenden Demonstrationsumgebung war dieser Eintrag jedoch nicht notwendig.

Quellen
  1. JavaFX Dokumentation: https://openjfx.io/openjfx-docs/

Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.