Exception in thread “AWT-EventQueue-0“: java.lang.IllegalAccessError: superclass access check failed

今天用java集成一个matlab算法,调用算法时报了这么一个错误

原因分析

这个错误 java.lang.IllegalAccessError: superclass access check failed 是由于 Java 的模块系统在访问控制上的限制引起的。具体来说,错误信息表明类 com.mathworks.hg.peer.types.HGMotifCheckMenuUI 试图访问 com.sun.java.swing.plaf.motif.MotifMenuUI 类,但是 java.desktop 模块并没有将 com.sun.java.swing.plaf.motif 包导出给未命名模块 @0x589d5cab

这个问题通常发生在尝试访问 Java 平台模块(如 java.desktop)中未公开(not exported)的内部类时。在 Java 9 及以后的版本中,模块系统对类的访问进行了更严格的控制,以增强封装性和安全性。

解决办法

IntelliJ IDEA

  1. 打开项目,在顶部菜单中选择 Run
  2. 从下拉菜单中选择 Edit Configurations
  3. 在打开的配置窗口中,找到你想要修改的配置。
  4. 在 VM options 字段中添加你的 JVM 参数,例如我的是:
    --add-exports=java.desktop/com.sun.java.swing.plaf.motif=ALL-UNNAMED
  5. 点击 Apply 然后 OK 保存配置。

原文链接:Exception in thread “AWT-EventQueue-0“: java.lang.IllegalAccessError: superclass access check failed

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容