JavaFX Installation unter IntelliJ IDEA

niceWork

Mitglied
Hallo!

Ich habe soeben versucht, JavaFX unter IntelliJ IDEA (jeweils neueste Versionen) zu installieren.
Ich habe in der IDE ein JavaFX Projekt gestartet, habe unter "Project Structure" die "lib" hinzugefügt und bei den "VM options" noch folgendes (dies wurde mehrmals im Internet so beschrieben auf div. Supportseiten):

--module-path C:\Program Files\JetBrains\IntelliJ\javafx-sdk\lib --add-modules javafx.controls,javafx.fxml

Dann habe ich das JavaFX Projekt kompiliert und wollte es ausführen (unter IDEA sollte hier anscheinend ein Demofenster von JavaFX erscheinen) und bekomme da folgenden Fehler:

"C:\Program Files\AdoptOpenJDK\jdk-15.0.0.36-hotspot\bin\java.exe" --module-path C:\Program Files\JetBrains\IntelliJ\javafx-sdk\lib --add-modules javafx.controls,javafx.fxml --add-modules javafx.base,javafx.graphics ................ usw.

Fehler: Hauptklasse Files\JetBrains\IntelliJ\javafx-sdk\lib konnte nicht gefunden oder geladen werden
Ursache: java.lang.ClassNotFoundException: Files\JetBrains\IntelliJ\javafx-sdk\lib

Ich habe an den Klassen usw. nichts geändert sondern diese genau so gelassen wie die IDE sie erstellt hat.

Kann mir vielleicht jemand helfen?

Besten Dank im Voraus!

LG Christian
 
Also das Problem ist erst einmal, dass der Pfad Leerzeichen enthält. Das Leerzeichen ist aber auch der Trenner bei Argumenten, daher nimmt er als Parameter zu dem module-path nur das "C:\Program" und der nächste Parameter wird dann als nächster Parameter genommen. Und das ist dann für Java die auszuführende Klasse.

Lösung: Setze das Argument in Anführungszeichen:
--module-path "C:\Program Files\JetBrains\IntelliJ\javafx-sdk\lib"

Aber davon mal abgesehen wäre mein Ratschlag, doch einfach maven oder gradle zu nutzen und diese ganze Konfiguration dann sein zu lassen.
https://openjfx.io/openjfx-docs/ erläutert die Möglichkeiten ja im Detail.
 
Hi Nobody!

Zuerst bedanke ich mich vielmals für deine Antwort. Tatsächlich war nur das der Fehler und es läuft jetzt. Vielen Dank!!!! 🙂

Danke auch für deinen Ratschlag. Ich bin gerade in Ausbildung zum Java-Entwickler und bin mit derartigen Tools noch nicht vertraut. Daher sagt mir das jetzt nichts. Was sind maven bzw. gradle für Tools und worin liegt der Vorteil, wenn man damit arbeitet?
//EDIT: Ich hab mal Google gefragt und habe jetzt schon eine Grundvorstellung davon. Leichter fällt es mir aber wenn es mir jemand anfängergerecht erklärt.

Freue mich auf deine Antwort.

Besten Dank nochmal!
Christian
 
Bei Projekten hat man in der Regel
a) mehrere Dateien in dem Projekt
b) viele Operationen zum Erstellen des Projektes

Man kann natürlich alles von Hand machen, also z.B. Dateien mittels javac übersetzen, jar Datei mit dem Tool jar erstellen u.s.w.

Da dies aber viel zu viel Arbeit ist, gibt es Tools, die einem diese Arbeit abnehmen.

-> Viele IDEs haben ein eingebautes Projektmanagement. Aber das ist dann komplett auf die IDE beschränkt, also setzt voraus, dass alle die gleiche Software nutzen.
-> Es gibt aber auch einige Tools, die eigenständig sind. Aus der History heraus wäre da z.B. make zu nennen. Auf Java Seite gab es dann ant... Aber die Entwicklung ist nicht stehen geblieben und die aktuellen Tools sind Maven und Gradle.

Der große Vorteil von diesen Tools ist, dass diese unabhängig von den Entwicklungsumgebungen funktionieren. Die Entwickler können also für die Entwicklung nutzen, was sie wollen.
Weiterhin ist die Entwicklungsumgebung relativ neutral gehalten. Abhängigkeiten werden automatisch geladen und im Projekt genutzt. Das führt dazu, dass man Abhängigkeiten wie z.B. bei dir das JavaFX nicht extra installieren muss lokal. Man muss die lokale Entwicklungsumgebung nicht groß anpassen (also irgendwas installieren / konfigurieren). Ok, so ganz haut das noch nicht hin - Java ist eine Voraussetzung, die installiert sein muss.

Ob man nun Maven oder Gradle nutzen möchte ist Geschmackssache. Prinzipiell stolpert man regelmäßig über beides ist meine Erfahrung. Gradle ist z.B. Standard bei Android Entwicklung ...

Das wäre so der erste schnelle Überblick. Schau es Dir einfach in Ruhe an wenn Du die Zeit hast. Bezüglich JavaFX kann die Seite, die ich bereits verlinkt habe, auch einen schneller Einstieg sein.
 

Zurück
Oben