当前位置: 首页 > 知识库问答 >
问题:

如何解决Dr Java中“在类路径或引导类路径中找不到包java.lang”?

祁驰
2023-03-14

我刚到爪哇。我正在上大学初学者Java课程。我正在运行我的第一个hello world代码,并得到一条错误消息。我已经安装了最新的Dr.Java稳定版本,并安装了Java SE 12 JDK。

我已经卸载和重新安装了几次Dr Java,但仍然收到错误消息。我也重新编译了它,但错误信息仍然存在。

public class HelloWorld {
    public static void main(String[] args) { 
        System.out.println("Hello, World");
    }
}

我希望代码输出在interactions窗格下显示“Hello World”,但事实并非如此,而是出现了一条错误消息,上面写着“当前文档与interactions窗格不同步,应该重新编译!”。

编译器正在使用类路径='[C:\users\admin,C:\users\admin\downloads\drjava-beta-20190813-220051.jar]';bootClassPath='null'致命错误:无法在类路径或bootClassPath中找到包java.lang

共有1个答案

汪跃
2023-03-14

意识到OP通过JDK版本解决了他的问题,我在经历了他描述的相同症状后遇到了这个问题。因此,尽管问题最终与OP的情况不完全“相同”,但发布针对这些症状的解决方案似乎是合适的:

我也遇到了编译不起作用的问题。在我的例子中,我使用的Linux系统同时具有OpenJDK和手动安装的Oracle JDK(从java.com获得的tarball中提取),以及其他一些html" target="_blank">JRE环境。我“安装”了DRJava版本:drjava-20190813-220051jar文件,并从命令行运行它。然后,当它询问安装更新(drjava-beta-2019-220051)时,我单击了[手动下载]

DrJava报告我的编译器是JDK 8.0_222。注意,我不知道编译器是从哪里来的。据我所知,我没有安装那个版本。我的OpenJDK是:

$ /bin/java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
Compiler Output:
  "Compilation completed."

单击运行生成:

Interactions
  Welcome to DrJava.  Working directory is /home/krb/Projects/Software/java
  Current document is out of sync with the Interactions Pane and should be recompiled!
  > 

重新启动DrJava、保存、单击Reset等都不能解决问题。

无论如何,在某个时候,我注意到控制台选项卡充满了如下消息:

Console
  Compiler is using classPath = '[/home/krb/Projects/Software/java, /home/apps/drjava/drjava-beta-20190813-220051.jar]';  bootClassPath = 'null'
  Fatal Error: Unable to find package java.lang in classpath or bootclasspath
Web Browser
 /usr/lib64/firefox/firefox
Web Browser Command

Tools.jar Location
  /home/raid/apps/oracle/jdk-1.8.0_251/jre/lib/tools.jar
Display All Compiler Version [ ]
Extra Classpath
  /home/raid/apps/oracle/jdk1.8.0_251/jre/lib
  /home/raid/apps/oracle/jdk1.8.0_251/lib

接下来,我开始看看是否可以让OpenJDK工作。我在整个系统中搜索了另一个属于OpenJDK的tools.jar,但没有找到。然后我意识到我没有安装DEVEL OpenJDK包(在Mageia Linux7上)。

java-1.8.0-openjdk-headless-1.8.0.252-1.b09.1.mga7
java-1.8.0-openjdk-1.8.0.252-1.b09.1.mga7

我安装了:

java-1.8.0-openjdk-devel-1.8.0.252-1.b09.1.mga7

现在,即使在重置默认值之后,DrJava也不再说它使用的是JDK 8.0_222,而是JDK 8.0-openjdk-1.8.0.252-1.b09.1.mga7.x86_64-openjdk,而且在没有自定义首选项的情况下一切都很好!

我不知道JDK 8.0_222是从哪里来的。我的系统上没有那个版本的东西。我宁愿认为这是DRJava内部的一些东西。我认为要点是:

  • 如果DrJava说它使用JDK 8.0_222,那么它可能无法工作!
  • 如果系统可能拆分OpenJDK安装,请确保实际安装了tools.jar
  • tools.jar位置指向安装JDK的现有tools.jar文件,并确保浏览到该文件(而不仅仅是在路径中粘贴)。

我知道我看到的是Linux和DrJava的。jar安装,这可能不是您所拥有的,但也许这些信息将有助于为您提供一些可供查看和尝试的东西。

 类似资料:
  • 问题内容: 我收到这个错误 错误:java:致命错误:在类路径或引导类路径中找不到包java.lang 当我尝试构建/编译 任何 项目时,在IntelliJ中使用。这里应该说明的是,NetBeans,Eclipse甚至javac命令行都可以编译,构建和执行同一项目而不会出错。这就是为什么我怀疑问题出在IntelliJ上,其他所有IDE都可以正常工作的原因。 在IntelliJ中,我已经: 重新启动

  • 我正在尝试使用node-java包。我需要从node.js运行小的java代码。首先,我运行命令

  • 我得到了这个错误 错误:java:致命错误:无法在类路径或引导类路径中找到包java.lang 我已经在互联网上搜索了类似的问题,在堆栈溢出上我找到了: 问题#1问题#2问题#3问题#4问题#5 和30多个网站,并尝试了每一个答案... 在这里您可以看到我上次尝试构建/编译时的IntelliJ项目结构 当我遇到这个错误时,我使用的是Java1.8,几个小时后,我安装了Java1.7,项目运行良好。

  • 我正在执行Java-Eclipse-TestNG,但在使用testng命令行运行测试时遇到了困难。我有多个源文件夹,当创建。class文件时,它们将转到/bin目录,文件夹结构与/src相同,如下所示。我已经设置了类路径(使用导出classpath=...)并尝试运行“java org.testng.testng testng.xml”,但它给我的结果是“不能在类路径中找到类:testcases.

  • 我需要帮助与android项目内的NetBeans。我刚刚打开了在NetBeans中创建的project,我遇到了一些“无法访问java.lang致命错误:无法在类路径或引导类路径中找到包java.lang”的问题。这是我的一个有问题的文件的示例: 第一行下划线并生成 我是netbeans的新手,我尝试了一些修复,但没有成功。有人能帮帮我吗?我想这是增加参考图书馆或类似的问题...但不确定。

  • 我下载了netbeans IDE11并尝试执行一个示例hello world项目,但它给我带来了错误“无法访问java.lang致命错误:无法在类路径或引导类路径中找到包java.lang”。我尝试了一些解决堆栈溢出的方法,但都不起作用。