JavaFX 媒体应用程序模块错误
问题:
运行 JavaFX 11 应用程序时,由于模块而发生错误冲突:
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
答案:
该错误表明 JavaFX 媒体模块未正确解析为模块,从而导致冲突。要解决此问题,请确保模块路径中包含 javafx.media 模块。
解决模块冲突的三种方法:
1.将 javafx.media 包含在 --add-modules 中:
/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.使您的代码模块化并添加 require javafx.media;到您的模块描述符。
3.使用包含 JavaFX 的 JDK(例如 BellSoft Liberica 或 Azul Zulu)。
附加说明:
以上是如何解决JavaFX媒体模块冲突和IllegalAccessError?的详细内容。更多信息请关注PHP中文网其他相关文章!