java - 如何解决 Netbeans 12.0 IllegalAccessError?

标签 java netbeans netbeans-12 java-16

我刚刚安装了 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 runs on the JDK LTS releases 8 and 11, as well as on JDK 14, i.e., the current JDK release at the time of this NetBeans release.


您有两种选择来解决这个问题:
  • 继续使用 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.5 :JDK 8、JDK 11、JDK 17(n.b.“实验支持”)
    更普遍:
  • NetBeans 12.x 版当前正好支持三个 JDK:JDK8、JDK 11 和最新的 JDK,它在 NetBeans 发布时是最新的。
  • 不支持在任何给定版本的 NetBeans 发布日期之后发布的 JDK。

  • (21 年 6 月 23 日进行了少量更新以反射(reflect)支持 JDK 16 的 NetBeans 12.4 的发布,以及 21 年 9 月 30 日以反射(reflect)(某种程度上)支持 JDK 17 的 NetBeans 12.5 的发布。)

    关于java - 如何解决 Netbeans 12.0 IllegalAccessError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67232601/

    相关文章:

    css - Turbine 语法高亮显示

    spring-boot - NetBeans 12.4 - Spring Boot Maven 项目,调试所有测试

    java - maven工具中插件和依赖的区别(解压jar)

    java - 生命宇宙和一切 SPOJ Java

    java - 将 JSON 子对象插入现有 JSON

    java - GWT maven 项目的客户端断点可以在 Eclipse 中工作,但不能在 Netbeans 中工作

    java - 将 Maven 项目从 Netbeans 迁移到 Eclipse 的有趣时光

    java - 如何在 Netbeans 12 中启用预览功能来运行单个 Java 文件?

    java - 适用于 Android 的 PDF 查看器 API