NetBeans更新后需要Java 11

pxiryf3j  于 2023-10-20  发布在  Java
关注(0)|答案(3)|浏览(192)

Ubuntu 18.04.6 LTS
Netbeans在周末更新到了第19版,现在已经完全坏了。每当我尝试启动Netbeans时,都会弹出一个窗口:
弹出窗口标题:Java 11或更新版本需要弹出窗口描述:无法在Java 11之前的Java版本上运行。请安装Java 11或更新版本,或使用--jdkhome开关指向其安装目录。
弹出窗口可以关闭,但Netbeans不会打开。
我不想使用Java 11(目前使用Java 8),因为我的一些依赖项不支持它。解决这个问题的最佳方法是什么?我可以回滚此不需要的更新吗?如何防止将来更新Netbeans?
用户:看来回滚NetBeans不是一个选择。作为一种解决方法,我安装了Java 11,它还没有修复这个问题。
1.安装Java 11使用:sudo apt-get install openjdk-11-jdk Netbeans仍然失败。弹出窗口显示需要Java 11。
1.使用以下命令将默认java设置为openjdk 11:
sudo update-alternatives --config java Netbeans仍然失败。弹出窗口显示需要Java 11。
1.我检查了netbeans.conf中的jdkhome行,发现了这个文件的3个示例:
/etc/netbeans.conf
/snap/netbeans/84/netbeans/etc/netbeans.conf
/snap/netbeans/80/netbeans/etc/netbeans.conf
这三个文件都使用#注解掉了jdkhome行。我只能编辑/etc/netbeans.conf文件,其他两个是不可编辑的(即使使用sudo nano [file])。
1.在/etc/netbeans.conf文件中使用以下命令设置jdkhome:
sudo nano /etc/netbeans.conf
已尝试:netbeans_jdkhome="/usr/lib/jvm”Netbeans无法启动。
netbeans_jdkhome="/usr/lib/jvm/java-11-openjdk-amd 64”Netbeans无法启动。
netbeans_jdkhome="/usr/lib/jvm/java-11-openjdk-amd 64/bin”Netbeans无法启动。
1.尝试通过从终端运行NetBeans并使用--jdkhome标志来设置JDK,但这不起作用。
/snap/netbeans/current/netbeans/bin/netbeans --jdkhome /usr/lib/jvm/java-11-openjdk-amd 64抛出警告:“警告-程序的示例无法访问指定的用户目录。这是一个严重的问题,可能会阻止程序正常运行。确保可写。单击“确定”继续,尽管出现了以前的错误。”

Clicking OK gives an error:
java.io.FileNotFoundException: /snap/netbeans/84/netbeans/bin/lock (Read-only file system)

使用sudo运行前面的命令会得到完全相同的结果。Java 11和Java 8都安装在同一个地方(/usr/lib/jvm),所以我不明白为什么一周前它还能访问Java 8 JDK,现在却“无法访问指定的用户目录”。
更新2:我回到使用--jdkhome开关从终端运行netbeans,终于找到了神奇的单词......有点:
XYZ@XYZ:/snap/netbeans/current/netbeans/bin$ netbeans --jdkhome /usr/lib/jvm/java-11-openjdk-amd64配置:软件包com.apple.eio不在java.desktop中
^above^命令成功地启动了Netbeans,但它没有修复Netbeans,因为从桌面图标打开Netbeans仍然失败,并显示原始错误。我必须用上面的命令从终端启动它。
我尝试更改工具>选项>Java选项以使用Java 11或17,但没有效果(即使我仍然计划使用Java 8进行开发)。

pjngdqdw

pjngdqdw1#

只有NetBeans二进制文件需要JDK 11它不会影响您的项目
NetBeans使用的运行时JDK不会影响项目可以使用的JDK范围。- 发行说明

2vuwiymt

2vuwiymt2#

虽然NetBeans本身需要JDK 11,但我认为您仍然可以为您的项目构建和运行JDK 8。
请参见Overview of JDK 8 Support in NetBeans IDE
我还发现了另一个关于将NetBeans指向特定JDK的StackOverflow问题,以防您遇到任何麻烦:How can I set the JDK NetBeans runs on?

up9lanfz

up9lanfz3#

我正在使用Windows,刚才也遇到了同样的问题。我安装了NetBeans-19,然后手动安装了JDK-20:
https://www.oracle.com/java/technologies/downloads/#jdk20-windows
然后我重新安装了NetBeans-19,将安装程序指向JDK-20文件夹,它工作得很好。

相关问题