当我尝试运行新安装的 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/