Wenn ich bei Intelij javafx mit maven importieren will, muss ich das in die pom.xml reintun, aber warum noch in module-info.java?

berserkerdq2

Bekanntes Mitglied
Wenn ich bei Intelij javafx mit maven importieren will, muss ich das in die pom.xml reintun, aber warum noch in module-info.java?

Hab ein altes Projekt gefunden, welches ich ohne Javafx erstellt habe damals. Wollte darauf nun Javafx nutzen, konnte aber die Klassen nicht importieren, dann bin ich in die pom.xml

Und habe 1x das eingegeben:

<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>18.0.2</version>
</dependency>

Danach kam die Fehlermeldung, dass ich in die module-info.java Ergänzungen vornehmen muss, warum? Und was muss da rein?
 

KonradN

Super-Moderator
Mitarbeiter
Hast Du denn schon mal versucht herauszufinden, was denn welche Einträge bewirken und was diese machen? Es ist immer hilfreich, wenn man auch etwas versteht, was man da überhaupt macht.

- Was macht denn das Eintragen der Dependency im Maven Projekt?
Da ist die Maven Dokumentation sinnvoll und die findet sich für diesen Aspekt unter https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

- Was macht denn diese module-info.java?
Da scheint es ja um das Java Modulsystem zu gehen. Dann sollte man sich das einmal in Ruhe ansehen. Und da gibt es viele tolle Erklärungen - meist zur Java 9 Zeit geschrieben, denn da ist es eingeführt worden.

Das einfach einmal lesen und wenn dann noch Fragen sind, dann erläutern wir diese sehr gerne.
 

M.L.

Top Contributor
IntelliJ kann von Haus mit JavaFX umgehen: File - New - Project - "JavaFX" (liefert aber auch eine pom.xml sowie module.info mit JavaFX-Anteilen)
Evtl. könnte es besser sein die Vorlage zu nehmen und das alte Projekt darin zu integrieren.

Welche Ergänzungen in module.info noch vorzunehmen wären, hängt von diversen Faktoren ab. Im Standardfall sieht module.info so aus:
Code:
module com.example.demo1 {
    requires javafx.controls;
    requires javafx.fxml;


    opens com.example.demo1 to javafx.fxml;
    exports com.example.demo1;
}
 

KonradN

Super-Moderator
Mitarbeiter
IntelliJ kann von Haus mit JavaFX umgehen: File - New - Project - "JavaFX" (liefert aber auch eine pom.xml sowie module.info mit JavaFX-Anteilen)
Evtl. könnte es besser sein die Vorlage zu nehmen und das alte Projekt darin zu integrieren.
Das JavaFX Projekt von IntelliJ bietet nichts magisches oder so. Es wird ein Maven oder Gradle Projekt erzeugt mit openjfx Plugin.

Da er schon ein Maven Projekt hat, wäre maximal die Frage, ob er das Plugin braucht oder nicht und dann könnte er das Plugin hinzu fügen. Da ist es also nicht notwendig, ein Projekt zu migrieren. Das Plugin ist nett, aber es kann nicht mit dem Fall umgehen, dass einer Abhängigkeit die Modulbeschreibung fehlt. Das ist leider immer noch nicht vom Tisch, wobei ich hoffe, dass es bald verschwunden sein wird, wo jetzt Jakarta EE, Spring und co auch das Modulsystem unterstützen. Bis dahin ist mein Vorschlag immer noch das gute alte Moditect Plugin.

Und in dem module-info.java sind die Module anzugeben, auf die man zugreifen will. Und wenn man fxml nutzen will mit FXMLLoader incl. angegebenen Controller, dann muss das eigene Moful geöffnet werden. Da gibt es dann mehrere Möglichkeiten:
a) das ganze Modul komplett öffnen - dann hat man einfach ein "open module .... " im Kopf.
b) die Namespaces, in denen Controller sind, öffnen also dann in der Modulbeschreiben neben dem "exports my.project.controller;" noch ein "opens my.project.controller".
c) Wenn man aber wirklich das Öffnen minimieren will, dann kann man das auch noch gezielt öffnen. also ein "opens my.project.controller to javafx.fxml;"

Generell geht es aber um eine Anwendung. Da wird das Modul also nicht von außen verwendet. Daher ist hier diese Kapselung (um das handelt es sich halt) schlicht unnötig. Daher ist a) der Weg, den ich empfehlen würde.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Lwjgl 3d Objekt wird schmaler, wenn es sich dreht Allgemeine Java-Themen 0
berserkerdq2 Habe ein svg bild, kann ich das zu svg koordinaten umrechnen, damit ich den Umriss zeichnen kann? Wenn ja wie? Allgemeine Java-Themen 1
berserkerdq2 Wenn ich einfach eine GIF in den Scenebuilder als Bild reinpacke, wird das dann asl Gif angezeigt Allgemeine Java-Themen 1
I OpenPDF erzeugt riesige PDFs, wenn Grafiken über PdfGraphics2D#drawImage gezeichnet werden Allgemeine Java-Themen 1
Viper13125 Eclipse Hängt sich auf, wenn ich SimpelDateFormat drin lasse Allgemeine Java-Themen 2
berserkerdq2 Wenn ich eine Methode nur jede 50ms ausführen will, wie mach ich das? Allgemeine Java-Themen 4
M Probleme bei Eclipse wenn ich entpacke Allgemeine Java-Themen 15
Zrebna Gibt es eine Möglichkeit eine NPE zu vermeiden, wenn null returned wird? Allgemeine Java-Themen 3
S Wenn eine Klasse zwei Interfaces mit derselben Methodensignatur implementiert: welche wird aufgerufen? Allgemeine Java-Themen 15
P Summieren wenn Allgemeine Java-Themen 4
E RMI NULL-Pointer-Exeception wenn der RMI-Proxy eine Methode deligiert Allgemeine Java-Themen 2
D Cursor unsichtbar, wenn Kontextmenü aufgerufen wird Allgemeine Java-Themen 5
E JavaFX RMI extrem langsam wenn Server nicht läuft Allgemeine Java-Themen 5
W Thread sleep 30 sekunden - wenn keine Antwort bis dahin neu senden Allgemeine Java-Themen 2
H Runtime reagiert erst wenn Programm abbricht Allgemeine Java-Themen 1
J Jasper ireport - wieso beendet die Anwendung wenn ich die Preview schließe Allgemeine Java-Themen 1
N Maven ObjectMapper Error wenn das File gespeichert wird Allgemeine Java-Themen 0
F Wert in Variable schreiben, wenn diese gerade genutzt wird Allgemeine Java-Themen 10
S Wenn mehr als die Hälfte Großgeschrieben ist. Allgemeine Java-Themen 2
D mouseWheelMoved => erst reagieren, wenn für 1s das Mausrad nicht mehr benutzt wurde Allgemeine Java-Themen 4
L SetBounds wird vor dem Konstruktorcode aufgerufen - Wenn Startleiste links Allgemeine Java-Themen 1
T MEthodenauruf testen, wenn instanz erst erzeugt wird Allgemeine Java-Themen 0
DStrohma Input/Output KeyEvent nur verarbeiten wenn es ein "sichtbares" Zeichen ist? Allgemeine Java-Themen 1
S ExecutorService.invokeAll -- was passiert wenn einige Tasks schon ausgefuehrt wurden? Allgemeine Java-Themen 2
M CapsLock abfragen wenn Fenster wieder aktiviert wird Allgemeine Java-Themen 5
D Java Skript Wenn Dann in PDF Formular Allgemeine Java-Themen 2
G Runtime.exec beendet Programm unter Linux, wenn Java Programm beendet wird Allgemeine Java-Themen 3
L Input/Output Dateien erstellen, wenn ein JAR ausgeführt wird Allgemeine Java-Themen 13
S Strings gehen "kaputt" wenn ich in CVS ein und wieder auschecke. Allgemeine Java-Themen 2
E externen Prozess schließen, wenn Programm geschlossen wird Allgemeine Java-Themen 2
D mvc-Modell: wenn views voneinander wissen sollen Allgemeine Java-Themen 13
B Berechnung eines sinh abbrechen, wenn 16. Nachkommastelle sich nicht mehr ändert Allgemeine Java-Themen 7
B Benachrichtigung, wenn sich Benutzer am Betriebssystem anmeldet Allgemeine Java-Themen 9
T Set.contains() auch false wenn value == null? Allgemeine Java-Themen 4
N OutOfMemory nur wenn -Xmx gesetzt ist?! Allgemeine Java-Themen 6
Y Erfassen der Gesamtbreite, wenn 2 Bildschirme zur Verfügung. Allgemeine Java-Themen 3
V Was tun, wenn close() fehlschlägt? Allgemeine Java-Themen 3
G Was ist Ant und warum soll ich das brachen, wenn es IDEs gib Allgemeine Java-Themen 10
J Probleme wenn man keine serialVersionUID definiert? Allgemeine Java-Themen 27
G Aufruf einer Methode wenn Klasse noch nicht existiert Allgemeine Java-Themen 3
K FarbeA die moeglichst sichtbar ist wenn gezeichnetauf FarbeB Allgemeine Java-Themen 7
G wenn Button geklickt -> regelmäßig Aktion ausführen Allgemeine Java-Themen 7
ARadauer mit keylistener hören auch wenn frame nicht den focus hat Allgemeine Java-Themen 2
S Zweiten Thread erst starten wenn erster Thread beendet ist ? Allgemeine Java-Themen 6
B Datei erst öffnen, wenn EOF gesetzt ? Allgemeine Java-Themen 4
M PostgreSQL - nennenswerte Vorteile und wenn ja, wo? Allgemeine Java-Themen 3
P JTextField textfarbe schwarz auch wenn JTF deaktiviert ist Allgemeine Java-Themen 4
C Wenn long int zu klein Allgemeine Java-Themen 17
F CPU auslastung wenn Speicher mit -Xmx erhöht Allgemeine Java-Themen 4
M Wenn immer nur einer darf . Allgemeine Java-Themen 3
P Ist das möglich mit Java - wenn Nein wie sonst? Allgemeine Java-Themen 8
R Wenn Variable = wat ist Allgemeine Java-Themen 7
J RegEx: "wenn zeichen folgen ersetze x mit y, sonst mit Allgemeine Java-Themen 2
F Wenn ihr Performance wollt nehmt C++ Allgemeine Java-Themen 39
L Wenn String matches [-.,;:_°&] dann. Allgemeine Java-Themen 5
I JMF - feststellen wenn mp3 aus Allgemeine Java-Themen 10
G Prozess beenden, wenn er hängt Allgemeine Java-Themen 9
L JTable: Wenn Zeile markiert dann Meldung. geht nicht Allgemeine Java-Themen 4
G wenn ohne Interface Allgemeine Java-Themen 2
K Wenn events auftritt fireActionPerformed Allgemeine Java-Themen 6
T ^Wenn Java startet wird das Bild unscharf Allgemeine Java-Themen 8
G Wenn JAVA Applet nicht geladen werden kann -> Flash Allgemeine Java-Themen 4
B Rechner stürzt ab wenn Java-Anwendungen geöffnet werden! Allgemeine Java-Themen 2
N Wenn Bild nicht vorhanden, dann Weiterleitung Allgemeine Java-Themen 5
G Auf KeyEvent reagieren, wenn das Fenster nicht aktiv ist Allgemeine Java-Themen 8
J Integration pay Pale in eine JavaFx Desktop Application Allgemeine Java-Themen 1
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
berserkerdq2 Jemand einen Tipp wie man ein Javafx-Hintergrund "dynamisch" macht Allgemeine Java-Themen 3
berserkerdq2 Frage zu IntelliJ und JavaFX Allgemeine Java-Themen 1
thor_norsk Eclipse - Fehlermeldung - JavaFX Allgemeine Java-Themen 24
volcanos JavaFX-Programme nur in NetBeans selber ausführbar ! command_line: NoClassDefFoundError Allgemeine Java-Themen 39
G JavaFX Maven Projekt als .exe Datei exportieren Allgemeine Java-Themen 10
C Java11+ JavaFX HtmlEditor ContextMenu neue MenuItems hinzufügen Allgemeine Java-Themen 5
G JavaFX var Ausdruck Allgemeine Java-Themen 1
G javafx "class path" exception Allgemeine Java-Themen 5
K Anzeigemöglichkeit von Bildern in JavaFX mit Hilfe von MongoDB GridFS Allgemeine Java-Themen 0
M JavaFX Allgemeine Java-Themen 13
P JavaFX Anwendung beendet sich selbst nur als Jar Allgemeine Java-Themen 40
L JavaFX JavaFX Chart in Apache Poi Excel Datei Allgemeine Java-Themen 2
A Zusammenspiel javafx Fenster Allgemeine Java-Themen 1
D JavaFX mit JDK 12 Allgemeine Java-Themen 31
H Internationalisierung I18n in JavaFx? Allgemeine Java-Themen 7
Tarrew JavaFX: K-NN Decision Boundary plotten (Mesh-Grid, Polylines, ... ?? ) Allgemeine Java-Themen 1
D Compiler-Fehler JavaFX - Bekomme Fehlermeldungen nicht weg Allgemeine Java-Themen 31
N Über einen Button in JavaFX ein Event über eine Pipeline schicken(Netty) Allgemeine Java-Themen 1
M List -Tableview-Javafx-Vererbung Allgemeine Java-Themen 35
RalleYTN 2D-Grafik Bild ohne AWT, Swing und JavaFX rotieren Allgemeine Java-Themen 12
U JAVAFX Simulation Allgemeine Java-Themen 1
M javafx ComboBox- Nullpointer Exception Allgemeine Java-Themen 6
L Eclipse JavaFX Klasse starten programmatisch Allgemeine Java-Themen 1
Sam96 JavaFX Benutzerrechte Allgemeine Java-Themen 6
J javaFX mySQL Allgemeine Java-Themen 3
P JavaFX HTMLEditor Menü Allgemeine Java-Themen 0
L JavaFX JavafX externe FXML laden? Allgemeine Java-Themen 4
S JavaSE, JavaEE oder JavaFX? Allgemeine Java-Themen 5
N WaitForScript- methode in javafx Allgemeine Java-Themen 1
I Javafx Open/Read und Tree Funktion Allgemeine Java-Themen 14
M Regex für Zahleneingabe in JavaFX Textfield Allgemeine Java-Themen 18
B JavaFX fxml, die selbe Instanz der Klasse Allgemeine Java-Themen 4
M JavaFX-Gegenstück zu Swing-Button-DoClick-Methode Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben