Error occurred during initialization of boot layer java.lang.module.FindException: Module javafx.controls not found

mamir00

Mitglied
Hallo Leute
Ich verzweifle hier seit 3 Tagen. Wollte etwas in JavaFX Programmieren doch leider will mein Intellij nicht so.
Ich habe Java 11 geladen sowie JavaFX 11 https://gluonhq.com/products/javafx/
Danach die Systemvariable angepasst.und das klappt alles richtig bei Hello world project oder andere CODE soger auch . aber ich hab jetzt eine neue projekt und bekomme ich diese Fehlermeldung .
kann jemand vlt mir dabei helfen ,um diese fehler zu beheben ?


Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.controls not found

Process finished with exit code 1
 
G

Gelöschtes Mitglied 65838

Gast
um genau zu sein findet deine Module Info nicht javafx.controls und dann meckert deine main dass es nicht gefunden wurde
 
K

kneitzel

Gast
Generell wäre meine Empfehlung, sich einfach nach dem Getting Started vom OpenJFX zu richten:

Ansonsten wäre die Frage wichtig, was Du wie machst / versuchst. Aber das Getting Started behandelt die wichtigsten Methoden.
Meine Empfehlung wäre aber, Maven (oder Gradle) zu nutzen.
 
K

kneitzel

Gast
was soll ich geanu tun um diese fehler zu behenen ?
Da wir nicht genau wissen, was Du genau machst, können wir Dir auch nicht sagen, was Du anders machen musst.

Daher mein Hinweis zu der genauen Schritt für Schritt Anleitung, die eben viele unterschiedliche Möglichkeiten aufzeigt. Eine der gezeigten Wege solltest Du gehen (also z.B. einfach nur Eclipse mit einer JDK und der JavaFX SDk Installation ohne alles weitere)...

Da es sehr schwer ist, in einer IDE Fehler zu lokalisieren (Zeige mal die Einstellungen aus zig verschiedenen Fenstern/Tabs), ist meine Empfehlung auch weiterhin, es mit Maven oder Gradle anzugehen. Da kann das Projekt dann jederzeit gezeigt werden und man kann einfach Änderungen vorschlagen. Maven und Gradle Wege (mit dem openjfx Plugin) werden in dem genannten Link auch behandelt.
 

lam_tr

Top Contributor
Da wir nicht genau wissen, was Du genau machst, können wir Dir auch nicht sagen, was Du anders machen musst.

Daher mein Hinweis zu der genauen Schritt für Schritt Anleitung, die eben viele unterschiedliche Möglichkeiten aufzeigt. Eine der gezeigten Wege solltest Du gehen (also z.B. einfach nur Eclipse mit einer JDK und der JavaFX SDk Installation ohne alles weitere)...

Da es sehr schwer ist, in einer IDE Fehler zu lokalisieren (Zeige mal die Einstellungen aus zig verschiedenen Fenstern/Tabs), ist meine Empfehlung auch weiterhin, es mit Maven oder Gradle anzugehen. Da kann das Projekt dann jederzeit gezeigt werden und man kann einfach Änderungen vorschlagen. Maven und Gradle Wege (mit dem openjfx Plugin) werden in dem genannten Link auch behandelt.
Ja ich weiß die Frage wird bestimmt unnötig sein, aber kann man OpenJFX auch ohne Maven und Gradle zum Laufen bekommen?

Vermutlich wird die kurze Antwort nein sein.

Ich habe Spring Boot in Zusammenhang mit OpenJFX noch nicht zum Laufen bekommen. Hast du @kneitzel da schon Erfahrung damit gemacht?
 
K

kneitzel

Gast
Also generell geht es auch ohne Maven oder Gradle. Die Webseite zeigt das auch recht schön auf. Was bei Dir die Probleme verursachen könnte ist ggf. einfach fehlende --module-path und --add-module Anweisungen. Das pure JavaFX Vorgehen mit den notwendigen Parametern findet sich unter dem Punkt "Running HelloWorld with JavaFX".
Wie man das in Eclipse eintragen kann, wäre unter dem Punkt "JavaFX and Eclipse" - Unterpunkt vermutlich "Non-modular from IDE".

Ansonsten nutzt Du Spring Boot ohne Maven und Gradle? Direkt in Eclipse? Bietet Eclipse da noch eine erweiterte Funktionalität? Sowas wie start.spring.io in ein Eclipse Projekt verwurstelt mit herunterladen der Abhängigkeiten und so?

Generell habe ich Spring Boot auch schon "missbraucht" um speziell das DI in einer Client Applikation zu nutzen. Ich weiss aber nicht mehr im Detail, was ich da dann gemacht hatte zur Initialisierung. Was für eine Problematik hast Du denn bei dem Zusammenspiel von JavaFX und Spring Boot? Ich könnte mir Probleme vorstellen speziell im DI Bereich, d.h. der FXMLLoader lädt z.B. einen Controller und macht das seine Injection. Dann ist das wie als wenn Du eine neue Instanz erzeugst mit new -> Keine DI von Spring. Aber so eine Problematik lässt sich ja durchaus ohne zu tiefe Eingriffe lösen.
 
M

Mart

Gast
lad javafx eclipse runter und erstell eine user lib mit javafx ...geh in die module info und hover über javafx graphics und klicke "fix project setup " und es ist fertig ohne irgendwelche vm argumente ...das hab ich schon mal genauer in einem anderen post beschrieben ging auch um eclipse musst du dir halt raus suchen
so gehts halt in eclipse
 
M

Mart

Gast
das ist dann im ganzen eine 4 klick sache

aber um ehrlich zu sein bin ich zu faul um den post zu finden ... der ist nichtmal so alt
 
K

kneitzel

Gast
Oder schau Dir den Link an, den ich ja nicht ohne Grund schon am Anfang gegeben habe ... die Konfiguration in Eclipse ist da halt auch beschrieben ...

ohne irgendwelche vm argumente
Da dürfte aber dann in den Projekt Einstellungen genau solche Dinge konfiguriert werden. Würde mich wundern, wenn nicht :)
 

lam_tr

Top Contributor
Also generell geht es auch ohne Maven oder Gradle. Die Webseite zeigt das auch recht schön auf. Was bei Dir die Probleme verursachen könnte ist ggf. einfach fehlende --module-path und --add-module Anweisungen. Das pure JavaFX Vorgehen mit den notwendigen Parametern findet sich unter dem Punkt "Running HelloWorld with JavaFX".
Wie man das in Eclipse eintragen kann, wäre unter dem Punkt "JavaFX and Eclipse" - Unterpunkt vermutlich "Non-modular from IDE".

Ansonsten nutzt Du Spring Boot ohne Maven und Gradle? Direkt in Eclipse? Bietet Eclipse da noch eine erweiterte Funktionalität? Sowas wie start.spring.io in ein Eclipse Projekt verwurstelt mit herunterladen der Abhängigkeiten und so?

Generell habe ich Spring Boot auch schon "missbraucht" um speziell das DI in einer Client Applikation zu nutzen. Ich weiss aber nicht mehr im Detail, was ich da dann gemacht hatte zur Initialisierung. Was für eine Problematik hast Du denn bei dem Zusammenspiel von JavaFX und Spring Boot? Ich könnte mir Probleme vorstellen speziell im DI Bereich, d.h. der FXMLLoader lädt z.B. einen Controller und macht das seine Injection. Dann ist das wie als wenn Du eine neue Instanz erzeugst mit new -> Keine DI von Spring. Aber so eine Problematik lässt sich ja durchaus ohne zu tiefe Eingriffe lösen.
Ehrlich gesagt, benutze ich aus Bequemlichkeit immer noch JavaFX 8. Aber ich meine, ich habe mal mit Efxclipse die OpenJFX Runtime konfigurieren können.

Nein, wenn ich Spring Boot immer mache, dann ist Gradle immer ein MUSS. Aber das mergen der javafx-module-plugin mit dem Spring Boot gradle konfiguration habe ich bisher noch nicht so hinbekommen, dass ich die OpenJFX App über Run Task "Application" laufen lassen kann. Es fährt sozusagen ohne Spring Boot Konfig hoch.

Und ja das Problem mit dem Controller Injektion habe ich da ein Template von @dzim bekommen womit man das gut injecten. Ich glaube in seiner Repo unter POC sollte ein gutes Beispiel noch sein, zumindest hatte er das damals für mich hochgleaden.
 
M

Mart

Gast
Oder schau Dir den Link an, den ich ja nicht ohne Grund schon am Anfang gegeben habe ... die Konfiguration in Eclipse ist da halt auch beschrieben ...


Da dürfte aber dann in den Projekt Einstellungen genau solche Dinge konfiguriert werden. Würde mich wundern, wenn nicht :)
es war so gemeint dass man es selber nicht rein tippen muss und das automatisch "richtig" funktioniert
 

mamir00

Mitglied
Da wir nicht genau wissen, was Du genau machst, können wir Dir auch nicht sagen, was Du anders machen musst.

Daher mein Hinweis zu der genauen Schritt für Schritt Anleitung, die eben viele unterschiedliche Möglichkeiten aufzeigt. Eine der gezeigten Wege solltest Du gehen (also z.B. einfach nur Eclipse mit einer JDK und der JavaFX SDk Installation ohne alles weitere)...

Da es sehr schwer ist, in einer IDE Fehler zu lokalisieren (Zeige mal die Einstellungen aus zig verschiedenen Fenstern/Tabs), ist meine Empfehlung auch weiterhin, es mit Maven oder Gradle anzugehen. Da kann das Projekt dann jederzeit gezeigt werden und man kann einfach Änderungen vorschlagen. Maven und Gradle Wege (mit dem openjfx Plugin) werden in dem genannten Link auch behandelt.
Ich programmire gerade eine taschenrechner und ich hab alle einstellung und javafx und so eingebunden . das klappt wenn ich ein andere projekt wie bottum press und so machen . aber nur gerade bei diese DATEI bekomme ich diese Fehler meldung . in der Anhang können sie meine CODE sehen .
[CODE lang="java" title="view"]package sample;

import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

public class View {
public boolean isEqualClicked = true;
Model b;
public int s;
View(Stage primaryStage,Model m){
this.b = m;

//Hier haben wir ein Objekt aus der Klasse erstellt,damit das Textfeld darstellt
TextField text = new TextField();
text.setPrefSize(245,43);
text.setLayoutX(2);
text.setLayoutY(12);
// text.setAlignment(Pos.CENTER_RIGHT);

//ein Objekt aus diese Klasse erstellt, damit im Root Node-Fenster, das wir hier gruppiert werden
Pane root = new Pane();

// Button
Button z0 = new Button(b.zahlen[0]);
Button z1 = new Button(b.zahlen[1]);
Button z2 = new Button(b.zahlen[2]);
Button z3 = new Button(b.zahlen[3]);
Button z4 = new Button(b.zahlen[4]);
Button z5 = new Button(b.zahlen[5]);
Button z6 = new Button(b.zahlen[6]);
Button z7 = new Button(b.zahlen[7]);
Button z8 = new Button(b.zahlen[8]);
Button z9 = new Button(b.zahlen[9]);

Button add = new Button(b.zahlen[10]);
Button sub = new Button(b.zahlen[11]);
Button mult = new Button(b.zahlen[12]);
Button div = new Button(b.zahlen[13]);
Button gleich = new Button(b.zahlen[19]);
Button komme = new Button(b.zahlen[18]);
Button clear = new Button(b.zahlen[17]);

Button cos = new Button(b.zahlen[14]);
Button sin = new Button(b.zahlen[15]);
Button tan = new Button(b.zahlen[16]);


// Größe und wo das Button erscheinen
z0.setPrefSize(94, 42);
z0.setLayoutX(10);
z0.setLayoutY(246);
z0.setBackground(new Background( new BackgroundFill(Color.DARKGRAY, null, null)));

z1.setPrefSize(45, 42);
z1.setLayoutX(10);
z1.setLayoutY(200);
z1.setBackground(new Background( new BackgroundFill(Color.DARKGRAY, null, null)));

z2.setPrefSize(45, 42);
z2.setLayoutX(58);
z2.setLayoutY(200);
z2.setBackground(new Background( new BackgroundFill(Color.DARKGRAY, null, null)));

z3.setPrefSize(45, 42);
z3.setLayoutX(106);
z3.setLayoutY(200);
z3.setBackground(new Background( new BackgroundFill(Color.DARKGRAY, null, null)));

z4.setPrefSize(45, 42);

z4.setLayoutX(10);
z4.setLayoutY(154);
z4.setBackground(new Background( new BackgroundFill(Color.DARKGRAY, null, null)));

z5.setPrefSize(45, 42);
z5.setLayoutX(58);
z5.setLayoutY(154);
z5.setBackground(new Background( new BackgroundFill(Color.DARKGRAY, null, null)));

z6.setPrefSize(45, 42);
z6.setLayoutX(106);
z6.setLayoutY(154);
z6.setBackground(new Background( new BackgroundFill(Color.DARKGRAY, null, null)));

z7.setPrefSize(45, 42);
z7.setLayoutX(10);
z7.setLayoutY(108);
z7.setBackground(new Background( new BackgroundFill(Color.DARKGRAY, null, null)));

z8.setPrefSize(45, 42);
z8.setLayoutX(58);
z8.setLayoutY(108);
z8.setBackground(new Background( new BackgroundFill(Color.DARKGRAY, null, null)));

z9.setPrefSize(45, 42);
z9.setLayoutX(106);
z9.setLayoutY(108);
z9.setBackground(new Background( new BackgroundFill(Color.DARKGRAY, null, null)));

add.setPrefSize(45,42);
add.setLayoutX(154);
add.setLayoutY(246);
add.setBackground(new Background(new BackgroundFill(Color.CYAN,null,null)));

sub.setPrefSize(45,42);
sub.setLayoutX(154);
sub.setLayoutY(200);
sub.setBackground(new Background(new BackgroundFill(Color.CYAN,null,null)));


mult.setPrefSize(45,42);
mult.setLayoutX(154);
mult.setLayoutY(154);
mult.setBackground(new Background(new BackgroundFill(Color.CYAN,null,null)));

div.setPrefSize(45,42);
div.setLayoutX(154);
div.setLayoutY(108);
div.setBackground(new Background(new BackgroundFill(Color.CYAN,null,null)));

gleich.setPrefSize(45,88);
gleich.setLayoutX(202);
gleich.setLayoutY(200);
gleich.setBackground(new Background(new BackgroundFill(Color.DARKCYAN,null,null)));

komme.setPrefSize(45,42);
komme.setLayoutX(106);
komme.setLayoutY(246);
komme.setBackground(new Background(new BackgroundFill(Color.CYAN,null,null)));

clear.setPrefSize(45,88);
clear.setLayoutX(202);
clear.setLayoutY(108);
clear.setBackground(new Background(new BackgroundFill(Color.DARKCYAN,null,null)));

sin.setPrefSize(45,42);
sin.setLayoutX(10);
sin.setLayoutY(63);
sin.setBackground(new Background(new BackgroundFill(Color.CYAN,null,null)));

cos.setPrefSize(45,42);
cos.setLayoutX(58);
cos.setLayoutY(63);
cos.setBackground(new Background(new BackgroundFill(Color.CYAN,null,null)));

tan.setPrefSize(45,42);
tan.setLayoutX(106);
tan.setLayoutY(63);
tan.setBackground(new Background(new BackgroundFill(Color.CYAN,null,null)));

root.getChildren().add(z0);
root.getChildren().add(z1);
root.getChildren().add(z2);
root.getChildren().add(z3);
root.getChildren().add(z4);
root.getChildren().add(z5);
root.getChildren().add(z6);
root.getChildren().add(z7);
root.getChildren().add(z8);
root.getChildren().add(z9);
root.getChildren().add(add);
root.getChildren().add(sub);
root.getChildren().add(div);
root.getChildren().add(gleich);
root.getChildren().add(mult);
root.getChildren().add(komme);
root.getChildren().add(clear);
root.getChildren().add(sin);
root.getChildren().add(cos);
root.getChildren().add(tan);

root.getChildren().add(text);




EventHandler eventHandler = (new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent e) {
if (e.getSource() == z0) {
if (isEqualClicked == true || text.getText().equals("0"))
text.setText("0");
else
text.setText(text.getText() + "0");

isEqualClicked = false;
}
}
});
EventHandler eventHandler1 = (new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent e) {
if (e.getSource() == z1) {
if (isEqualClicked == true || text.getText().equals("1"))
text.setText("1");
else
text.setText(text.getText() + "1");

isEqualClicked = false;
}
}
});
EventHandler eventHandler2 = (new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent e) {
if (e.getSource() == z2) {
if (isEqualClicked == true || text.getText().equals("2"))
text.setText("2");
else
text.setText(text.getText() + "2");

isEqualClicked = false;
}
}
});
EventHandler eventHandler3 = (new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent e) {
if (e.getSource() == z3) {
if (isEqualClicked == true || text.getText().equals("3"))
text.setText("3");
else
text.setText(text.getText() + "3");

isEqualClicked = false;
}
}
});

z0.addEventHandler(MouseEvent.MOUSE_CLICKED, eventHandler);
z1.addEventHandler(MouseEvent.MOUSE_CLICKED, eventHandler1);
z2.addEventHandler(MouseEvent.MOUSE_CLICKED, eventHandler2);
z3.addEventHandler(MouseEvent.MOUSE_CLICKED, eventHandler3);

primaryStage.setTitle("Calculator");
primaryStage.setScene(new Scene(root, 255, 300));

primaryStage.show();

}
}
[/CODE]
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M JavaFX java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found AWT, Swing, JavaFX & SWT 5
P Fehlermeldung: Error: Could not find or load main class set Caused by: java.lang.ClassNotFoundException: set AWT, Swing, JavaFX & SWT 5
E 3D-Grafik Java Fatal error bei LWJGL AWT, Swing, JavaFX & SWT 2
izoards [Fatal Error] org.xml.sax.SAXParseException AWT, Swing, JavaFX & SWT 10
M error: package javafx.scene.web is not visible import javafx.scene.web.*; AWT, Swing, JavaFX & SWT 16
J SWT SWT Error: No more handles AWT, Swing, JavaFX & SWT 3
zhermann JavaFX DialogPane.showAndWait wirft Cast Error AWT, Swing, JavaFX & SWT 1
S JDBC Error "Too many Connections" AWT, Swing, JavaFX & SWT 11
I Fataler Error bei GUI-Ausführung AWT, Swing, JavaFX & SWT 3
E Swing Error icon in der TextArea AWT, Swing, JavaFX & SWT 1
U JavaFX Error: Handler Method not found AWT, Swing, JavaFX & SWT 3
N css und JavaFX error parse AWT, Swing, JavaFX & SWT 6
D JavaFX build.fxbuild error beim Erstellen einer exe AWT, Swing, JavaFX & SWT 2
L Rekursive Methoden -> Error: StackOverFlow AWT, Swing, JavaFX & SWT 2
A JavaFX Webapp Runtime error AWT, Swing, JavaFX & SWT 10
X JavaFX TableView Error beim clicken des außenbereiches AWT, Swing, JavaFX & SWT 5
A Swing Zahlenraten GUI wirft nur die Error Message aus AWT, Swing, JavaFX & SWT 6
A Java Swing Error AWT, Swing, JavaFX & SWT 3
Corben ActionListener Error AWT, Swing, JavaFX & SWT 2
E Laden von Bilddateien erzeugt OutOfMemory Error AWT, Swing, JavaFX & SWT 6
M JTree => Event Dispatching Error AWT, Swing, JavaFX & SWT 2
C SWT Error/Warnings in TreeView AWT, Swing, JavaFX & SWT 2
F Java heap space error trotz -Xmx512m AWT, Swing, JavaFX & SWT 9
G wirklich großer Text in JTextArea => Heap Space Error AWT, Swing, JavaFX & SWT 5
G Uncaught error fetching image + Ich checks nicht^^ AWT, Swing, JavaFX & SWT 6
V Lock & Feel für Error-Messages AWT, Swing, JavaFX & SWT 6
A error fetching image AWT, Swing, JavaFX & SWT 5
M Uncaught error fetching image AWT, Swing, JavaFX & SWT 2
N JList getSelectedIndex-Error AWT, Swing, JavaFX & SWT 2
E showAndWait is not allowed during animation or layout processing Memory FX AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben