Heim >Java >javaLernprogramm >Wie löst man Konflikte im JavaFX-Medienmodul und IllegalAccessError?
Fehler im JavaFX Media-Anwendungsmodul
Frage:
Beim Ausführen einer JavaFX 11-Anwendung Aufgrund eines Moduls tritt ein Fehler auf Konflikt:
java.lang.IllegalAccessError: class com.sun.media.jfxmediaimpl.NativeMediaManager (in unnamed module @0x4d7be377) cannot access class com.sun.glass.utils.NativeLibLoader (in module javafx.graphics) because module javafx.graphics does not export com.sun.glass.utils to unnamed module @0x4d7be377
Antwort:
Der Fehler deutet darauf hin, dass das JavaFX-Medienmodul nicht ordnungsgemäß als Modul aufgelöst wird, was zu dem Konflikt führt. Um dieses Problem zu beheben, stellen Sie sicher, dass das Modul javafx.media im Modulpfad enthalten ist.
Drei Möglichkeiten, den Modulkonflikt zu lösen:
1. Fügen Sie javafx.media in --add-modules ein:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java \ -p ~/.m2/repository/org/openjfx/javafx-swing/11/javafx-swing-11.jar: \ ... \ -classpath ~/development/intellij/OpenPatrician/OpenPatricianStandalone/target/classes: \ ... \ --add-modules javafx.controls,javafx.media
2. Gestalten Sie Ihren Code modular und fügen Sie „requires javafx.media;“ hinzu. zu Ihrem Moduldeskriptor.
3. Verwenden Sie ein JDK, das JavaFX enthält (z. B. BellSoft Liberica oder Azul Zulu).
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWie löst man Konflikte im JavaFX-Medienmodul und IllegalAccessError?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!