Problem:
Beim Ausführen einer JavaFX 11-Anwendung mit dem in bereitgestellten Befehl Bei der Frage ist ein Fehler im Zusammenhang mit einem illegalen Zugriff zwischen den Klassen in javafx.media und javafx.graphics aufgetreten Module.
Um den Fehler zu beheben und die Anwendung erfolgreich auszuführen, stellen Sie sicher, dass das Modul javafx.media beim Anwendungsstart als benanntes Modul aufgelöst wird. Dies kann durch eine der folgenden Methoden erreicht werden:
1. Fügen Sie das Modul in das Argument --add-modules ein:
Ändern Sie den Befehl, um javafx.media als zusätzliches Modul in das Argument --add-modules einzuschließen:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java -p ~/.m2/repository/org/openjfx/javafx-swing/11/javafx-swing-11.jar: ~/.m2/repository/org/openjfx/javafx-swing/11/javafx-swing-11-linux.jar: ~/.m2/repository/org/openjfx/javafx-graphics/11/javafx-graphics-11.jar: ~/.m2/repository/org/openjfx/javafx-graphics/11/javafx-graphics-11-linux.jar: ~/.m2/repository/org/openjfx/javafx-base/11/javafx-base-11.jar: ~/.m2/repository/org/openjfx/javafx-base/11/javafx-base-11-linux.jar: ~/.m2/repository/org/openjfx/javafx-controls/11/javafx-controls-11.jar: ~/.m2/repository/org/openjfx/javafx-controls/11/javafx-controls-11-linux.jar: ~/.m2/repository/org/openjfx/javafx-media/11/javafx-media-11.jar: ~/.m2/repository/org/openjfx/javafx-media/11/javafx-media-11-linux.jar --add-modules javafx.controls,**javafx.media** -classpath ...
2. Machen Sie Ihren eigenen Code modular:
Erstellen Sie eine module-info.java-Datei in Ihrem Projektverzeichnis mit folgendem Inhalt:
module my.application { requires javafx.controls; requires javafx.media; // Replace with your Application class' package exports com.example.myapp to javafx.graphics; }
Dann starten Ihre Anwendung mit dem Argument --module, um Ihr benutzerdefiniertes Modul anzugeben:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java --module my.application --add-modules javafx.base,javafx.graphics,javafx.controls -classpath ...
3. Verwenden Sie ein JDK, das JavaFX enthält:
Laden Sie ein JDK herunter, das JavaFX enthält, z. B. BellSoft Liberica oder Azul Zulu, und verwenden Sie es, um Ihre Anwendung auszuführen.
Zusätzliche Hinweise :
Das obige ist der detaillierte Inhalt vonWie behebe ich Fehler im JavaFX-Medienmodul beim Ausführen einer JavaFX 11-Anwendung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!