Modulfehler beim Ausführen der JavaFx-Medienanwendung
Beim Versuch, eine JavaFX 11-Anwendung auszuführen, wird die folgende Fehlermeldung angezeigt:
Exception in thread "JavaFX Application Thread" 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
Dieser Fehler ist auf eine Änderung im Java-Modulsystem zurückzuführen, die in Java 9 eingeführt wurde. JavaFX, das zuvor Teil von Java war Laufzeitumgebung wird jetzt als Satz von Modulen verteilt.
Um dieses Problem zu beheben, stellen Sie sicher, dass das Modul javafx.media korrekt aufgelöst wird. Dies kann erreicht werden durch:
Wenn Sie sich für den dritten Ansatz entscheiden, beachten Sie, dass die Hauptklasse die Anwendung nicht erweitern sollte und eine separate Startklasse zur Initialisierung erstellt werden muss JavaFX.
Darüber hinaus ist es wichtig sicherzustellen, dass JavaFX-Abhängigkeiten nicht im Klassenpfad platziert werden, da dies zu Problemen bei der Modulauflösung führen kann. Beziehen Sie sie stattdessen in den Modulpfad ein oder verwenden Sie einen modularisierten Ansatz.
Das obige ist der detaillierte Inhalt vonWie behebt man Fehler im JavaFX Media-Anwendungsmodul in Java 9?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!