首页 > Java > java教程 > 如何解决JavaFX媒体模块冲突和IllegalAccessError?

如何解决JavaFX媒体模块冲突和IllegalAccessError?

Mary-Kate Olsen
发布: 2024-12-20 16:29:11
原创
731 人浏览过

How to Resolve JavaFX Media Module Conflicts and IllegalAccessError?

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 模块不也包含在类路径中。
  • 如果使用 Maven,请包含javafx.media 模块作为 pom.xml 中的依赖项。

以上是如何解决JavaFX媒体模块冲突和IllegalAccessError?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板