ubuntu 19下netbeans用jdk11编译失败,用jdk8编译但是无法运行

ubuntu 19下netbeans用jdk11编译失败,用jdk8编译但是无法运行

这个问题正好处于 askubuntu 和 stackoverflow 的边缘,所以如果你认为它应该移动,我将非常感激帮助移动它。

在 ubuntu 上,Netbeans 10 无法工作。在 windows 上,相同版本的 netbeans 可以工作。在两个平台上,代码都不会用 jdk11 编译,但至少可以在 windows 上使用 jdk8。

我在ubuntu 19下安装了netbeans:

sudo apt install netbeans

以下是 netbeans 显示的内容:

Product Version: Apache NetBeans IDE 10.0 (Build 20190125-debian-10.0)
Java: 11.0.4; OpenJDK 64-Bit Server VM 11.0.4+11-post-Ubuntu-1ubuntu219.04
Runtime: OpenJDK Runtime Environment 11.0.4+11-post-Ubuntu-1ubuntu219.04
System: Linux version 5.0.0-23-generic running on amd64; UTF-8; en_US (nb)
User directory: /home/user/.netbeans/10.0
Cache directory: /home/user/.cache/netbeans/10.0

Netbeans 无法使用 jdk11 进行构建。我下载的是 jdk-8u221-linux-x64.tar.gz

并安装到/opt/jdk1.8.0_221

那么如果项目库设置是jdk1.8的话: 在此处输入图片描述

代码编译成功,但仍然无法运行。在运行选项卡下,它显示正在使用“项目默认”,当我单击时,它始终使用原始系统 jdk11。我可以选择 jdk1.8,但当我关闭该请求器时,它永远不会使用它。

为了验证,我在命令行上进行了编译。

javac *.java

AssignmentList.java:1: error: package com.sun.javafx.collections does 
not exist
import com.sun.javafx.collections.ListListenerHelper;

一个具有空白主文件的空程序确实可以工作,jdk11 仅仅不能与 swing 一起工作,不确定还有哪些其他库。

如果我使用 jdk1.8 手动编译,它可以工作。

/opt/jdk1.8.0_221/bin/javac *.java
/opt/jdk1.8.0_221/bin/java WhateverProgram

在Ubuntu下如何让netbeans编译java,JDK11有什么问题?

答案1

我在使用 JDK 11 时遇到了同样的问题,因此无法提供太多帮助,但我确实找到了如何修复 JDK 8 的问题。进入项目属性 > 构建 > 编译,然后取消选中“保存时编译”。

相关内容