在全新安装 Ubuntu 18.04 并随后安装 netbeans 后,netbeans 无法启动。netbeans 安装时
sudo apt install netbeans
一些其他 Java 程序(至少是 Eclipse)也无法启动。
从命令行启动 netbeans 时,JVM 会打印以下警告:
➜ ~ netbeans
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.netbeans.ProxyURLStreamHandlerFactory (file:/usr/share/netbeans/platform18/lib/boot.jar) to field java.net.URL.handler
WARNING: Please consider reporting this to the maintainers of org.netbeans.ProxyURLStreamHandlerFactory
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
➜ ~
答案1
Ubuntu 的存储库中仍有 Netbeans 8.1,但 JDK 11。因此,我从Netbeans 网站
下载 Netbeans 8.2 后,请按照以下步骤操作:
sudo apt autoremove netbeans
cd Downloads
sudo chmod +x netbeans-8.2-linux.sh
./netbeans-8.2-linux.sh
并按照屏幕上的说明进行操作。导入设置并从应用程序抽屉启动 NetBeans。
另外,如果你有任何名为 JDK 8 的包,只需将其删除即可。你可以使用以下命令找到已安装的包
sudo apt list --installed
并使用以下命令删除所有名称为 openjdk-8- 的软件包,
sudo apt autoremove <package_name>
有关 Netbeans 9.0 的安装,请参阅这里。
答案2
通过安装并将 JDK8 设置为默认值,我能够使其工作。
我按照此网站上的说明进行操作: https://linuxconfig.org/how-to-install-java-on-ubuntu-18-04-bionic-beaver-linux
具体来说:
添加 PPA 存储库:
sudo add-apt-repository ppa:webupd8team/java
sudo apt update
安装Java 8,并设置为默认值:
sudo apt install oracle-java8-set-default
我能够使用之后安装的 netbeans .sh 文件进行安装
答案3
我可以通过运行sudo update-alternatives --config java
并选择 java-8 选项(而不是默认的 java-11)来解决这个问题。不过,您仍需要安装 java-8 openjdk 包才能使其正常工作。
答案4
删除 Java 11(与 Ubuntu 18.xx 上的 Netbeans 8.2 不兼容):
sudo apt remove netbeans
sudo apt remove openjdk-11-*
安装Java 8和Netbeans 8.2(Netbeans约214MB):
sudo apt install openjdk-8-jdk
wget https://download.netbeans.org/netbeans/8.2/final/bundles/netbeans-8.2-linux.sh
sudo sh netbeans-8.2-linux.sh
当它询问 Java 位置时选择/usr/lib/jvm/java-8-openjdk-amd64
。
安装后您可以通过以下方式访问
/usr/local/netbeans-8.2/bin/netbeans
如果您选择默认位置。