微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何解决 Netbeans 12.0 IllegalAccessError?

如何解决如何解决 Netbeans 12.0 IllegalAccessError?

我刚刚安装了 Netbeans 12.0。当我开始我的第一个项目时,我在创建一个新的 Java 类后收到了一条意外的错误消息。关于我如何处理它的任何建议?

这是消息:

java.lang.IllegalAccessError: superclass access check Failed: class org.netbeans.lib.nbjavac.services.CancelAbort (in unnamed module @0x439ece0a) cannot access class com.sun.tools.javac.util.Abort (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.util to unnamed module @0x439ece0a

这是我的系统信息:

Product Version = Apache NetBeans IDE 12.0
Operating System = Windows 7 version 6.1 running on amd64
Java; VM; vendor = 16.0.1; Java HotSpot(TM) 64-Bit Server VM 16.0.1+9-24; Oracle Corporation
Runtime:Java(TM) SE Runtime Environment 16.0.1+9-24
Java Home:c:\program files\java\jdk-16.0.1
System Locale Encoding: pt_BR (nb); Cp1252
Home Directory: C:\Users\User
Current Directory: C:\Program Files\NetBeans-12.0
User Directory: C:\Users\User\AppData\Roaming\NetBeans\12.0
Cache Directory :C:\Users\User\AppData\Local\NetBeans\Cache\12.0

解决方法

您使用的是 JDK 16,它在 NetBeans 12.0 上不受支持。来自release documentation for NetBeans 12.0

Apache NetBeans 12.0 在 JDK LTS 版本 8 和 11 上运行,以及 在 JDK 14 上,即 NetBeans 发布时的当前 JDK 版本 发布。

您有两种方法可以解决此问题:

  • 继续使用 NetBeans 12.0,但使用它支持的最新 JDK,JDK 14。
  • 安装更新版本的 NetBeans 并使用该版本支持的最新 JDK。例如,将 NetBeans 12.4 与 JDK 16 结合使用。

第二个选项更可取,因为您将获得 NetBeans 的错误修复,并且您还可以使用更新的 JDK。

仅供参考,根据 NetBeans 发布文档,以下是可用于所有 NetBeans 最新版本的 JDK 版本摘要:

NetBeans 11.0:JDK 8、JDK 11、JDK 12

NetBeans 11.1:JDK 8、JDK 11、JDK 12

NetBeans 11.2:JDK 8、JDK 11、JDK 13

NetBeans 11.3:JDK 8、JDK 11、JDK 14

NetBeans 12.0:JDK 8、JDK 11、JDK 14

NetBeans 12.1:JDK 8、JDK 11、JDK 14

NetBeans 12.2:JDK 8、JDK 11、JDK 15

NetBeans 12.3:JDK 8、JDK 11、JDK 15

NetBeans 12.4:JDK 8、JDK 11、JDK 16

更一般地说:

  • NetBeans 12.x 版当前正好支持三个 JDK:JDK8、JDK 11 和最新的 JDK,在 NetBeans 发布时是最新的。
  • 不支持在任何给定版本的 NetBeans 发布日期之后发布的 JDK。因此,NetBeans 目前不支持使用 JDK 17。

(21 年 6 月 23 日进行了少量更新,以反映支持 JDK 16 的 NetBeans 12.4 的发布)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?