Netbeans 因 UnsupportedClassVersionError 而无法启动,并要求 Java 55 即 11,但我有它

Netbeans 因 UnsupportedClassVersionError 而无法启动,并要求 Java 55 即 11,但我有它

当我尝试运行新安装的 Netbeans 时,出现以下信息:

org.netbeans.InvalidException:StandardModule:org.netbeans.modules.db jarFile:/usr/share/netbeans/10.0/ide/modules/org-netbeans-modules-db.jar:java.lang.UnsupportedClassVersionError:org/netbeans/lib/ddl/DBConnection 已由较新版本的 Java Runtime(类文件版本 55.0)编译,此版本的 Java Runtime 仅识别最高 52.0 的类文件版本

为什么会发生这种情况?我相信我的 JRE 是正确的:

$ java -version
openjdk version "11.0.17" 2022-10-18
OpenJDK Runtime Environment (build 11.0.17+8-post-Ubuntu-1ubuntu220.04)
OpenJDK 64-Bit Server VM (build 11.0.17+8-post-Ubuntu-1ubuntu220.04, mixed mode, sharing)

为了以防万一,我确实有(并且需要保留)一个较旧的 JDK,但我不认为它会阻止 Netbeans 启动:

$ javac -version
javac 1.8.0_352

如果有什么不同的话,这里还有一些终端片段:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.5 LTS
Release:    20.04
Codename:   focal

$ update-alternatives --config java
There are 4 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/bellsoft-java8-full-i586/bin/java   20803523  auto mode
  1            /usr/lib/jvm/bellsoft-java8-full-i586/bin/java   20803523  manual mode
* 2            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode
  3            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  4            /usr/lib/jvm/zulu11/bin/java                     2116001   manual mode

最后,这是桌面上的一个片段。无论我从 xfce 菜单还是从终端窗口运行 Netbeans,我都得到这个信息,而后者不提供任何日志等。如果我单击“禁用模块并继续”,启动画面会持续显示大约 15 秒,然后消失。

如果我的问题已经有答案而我只是没能找到它,我会很高兴。 在此处输入图片描述

答案1

这在我安装的 Xubuntu 20.04 上有效:

netbeans --jdkhome /usr/lib/jvm/java-11-openjdk-amd64/bin/

相关内容