Netbeans IDE 11无法访问java.lang致命错误:在类路径或引导类路径中找不到包java.lang

14

我下载了NetBeans IDE 11,尝试做一个简单的“Hello, World”项目,但它给了我一个错误:“无法访问java.lang致命错误:在类路径或引导类路径中找不到java.lang包”。我尝试了一些Stack Overflow上的解决方案,但都没有起作用。

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication1;

/**
 *
 * @author ahmad
 */
public class JavaApplication1 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        System.out.println("Hello");
    }
    
}

主要错误是“无法访问java.lang 致命错误:在类路径或引导类路径中找不到java.lang包

"输入图像描述


请在您的问题中更新一张“工具 > Java 平台”的截图。 - skomisa
6个回答

15

我之前也遇到了同样的问题。手动设置默认的JDK解决了该问题。

  1. 打开位于<install_dir>/netbeans/etcnetbeans.conf
  2. 将JDK的主目录路径设置为netbeans_jdkhome属性的值

我使用的是Ubuntu 19.10


如果您不确定 JDK 路径,请运行 sudo update-java-alternatives -l 列出这些路径。同时,请确保在项目属性下设置了一个主类作为入口点。参见:https://dev59.com/QGIj5IYBdhLWcg3wHh3_ - bc1984adam

7

退出Netbeans后,使用以下方式编辑配置文件netbeans.conf

nano ~/netbeans-11.2/netbeans/etc/netbeans.conf

netbeans_jdkhome行中,编辑路径如下:
netbeans_jdkhome="/usr/lib/jvm/java-11-openjdk-amd64"

(Found at askubuntu.com)


3

我曾经完全卸载了我的发行版中的Netbeans版本,然后决定从https://netbeans.apache.org/download/nb110/nb110.html下载Netbeans 11 LTS版本,并安装到 /usr/share/netbeans中。这似乎解决了IDE的问题。该程序现在似乎也编译和运行更快。

我曾经使用来自Ubuntu/Mint软件库的Netbeans IDE(仍为版本10),在open JDK版本是11的情况下产生非常相似的问题。我无法让IDE正常显示 - 但是该程序可以通过命令行编译和运行。


3
如果您正在使用Maven进行项目管理,且使用的是OpenJDK,那么出现此错误的原因可能是您在maven-compiler-plugin中定义源代码和目标版本选项的方式不正确。我之前用JDK 1.8创建了一个小型项目,但当我迁移到新环境后,maven编译插件给出了这个错误。
对我而言有效的解决方案是修改maven-compiler-plugin定义中源代码目标版本参数的java版本格式:

修改前:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
        <source>1.7</source>
        <target>1.7</target>
        <compilerArguments>
            <bootclasspath>${sun.boot.class.path}${path.separator}${java.home}/lib/jfxrt.jar</bootclasspath>
        </compilerArguments>
        <showDeprecation>true</showDeprecation>
    </configuration>
</plugin>

之后:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
        <source>7</source>
        <target>7</target>
        <compilerArguments>
            <bootclasspath>${sun.boot.class.path}${path.separator}${java.home}/lib/jfxrt.jar</bootclasspath>
        </compilerArguments>
        <showDeprecation>true</showDeprecation>
    </configuration>
</plugin>

0
我已经解决了这个问题。首先创建一个文件夹 > 在此文件夹中安装JDK > 在您第一次创建的文件夹内创建一个新文件夹 > 在第二个创建的文件夹中安装NetBeans。

0

是的,始终检查JDK版本和项目使用的所有库


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接