编译器错误-';错误:无法找到或加载主类com.sun.tools.javac.main';

编译器错误-';错误:无法找到或加载主类com.sun.tools.javac.main';,java,compiler-errors,Java,Compiler Errors,我刚开始学习Java,并在我的计算机上安装了JDK,但现在我正在尝试最简单的Java,而不是编译。我在C:/Java/jdk7/上安装了JDK 每当我尝试编译时,都会出现一个错误: Error: Could not find or load main class com.sun.tools.javac.Main 以下是我的编译过程: javac test.java 我还尝试: javac.exe test.java 我不知道我的代码是否有错,但这是我的测试。java: class test

我刚开始学习Java,并在我的计算机上安装了JDK,但现在我正在尝试最简单的Java,而不是编译。我在
C:/Java/jdk7/
上安装了JDK

每当我尝试编译时,都会出现一个错误:

Error: Could not find or load main class com.sun.tools.javac.Main
以下是我的编译过程:

javac test.java
我还尝试:

javac.exe test.java
我不知道我的代码是否有错,但这是我的
测试。java

class test {
    public static void main(String args[]) {
        System.out.println("Hello World!");
    }
}
这里是JAVA_主页:

C:\Java\jdk7\

任何帮助都将不胜感激

安装后是否重新启动?有一些重要的环境变量(即
类路径
)在重新启动Windows之前不会设置。无论如何,您可以通过将
rt.jar
tools.jar
添加到
CLASSPATH
来解决这个问题。此外,您可能应该确保设置了
JAVA\u HOME

您的源代码正常

错误日志意味着找不到包含的tools.jar类。JDK中始终包含Tools.jar。 所以,我猜你用错了JDK。所以,您尝试编写您安装的javac完整路径。
示例)“C:\ProgramFiles\java\jdk1.7.0\U 25\bin\javac”test.java(windows)

如果它工作正常,则path变量中的JDK是错误的。因此,将路径“C:\Program Files\java\jdk1.7.0_25\bin\”(例如)添加到path变量中。
(见)

如果不起作用,请检查…\jdk1.7.0\u 25\lib\tools.jar。如果它不存在,那就错了。因此,请重试安装

如果它存在,嗯,我不知道。我建议您重新安装。

您可能已经手动安装了JDK。无论如何,这个错误几乎肯定是由于Java安装中的一个缺陷造成的。要解决此问题,必须在JAVA_HOME/lib目录中执行以下命令:

解压200-r-v-l“tools.pack tools.jar

这将解压tools.jar文件,这是您的安装(手动或非手动)没有为您完成的。之后,尝试执行:

javac版本

这个命令应该很有效。这与Java命令可能出现的错误类似,原因基本相同,您的安装没有解压缩必要的文件。您可以参考此链接:


我自己也有这个问题,我的解决方案是对另一个答案的一点修改。

我在JDK1.7_67上遇到了这个问题

我通过分离JDK和JRE安装解决了这个问题

JDK安装在D:\Java\jdk1.7_67中,带有自己的jre/lib文件夹,jre安装在D:\Java\jre1.7_67中,带有自己的lib文件夹


这为我解决了tools.jar问题

jdk的bin文件夹中缺少“javac.exe”。检查它,如果它不在那里,那么只需从您朋友的任何一台同样使用java的计算机的java/jdk/bin文件夹中复制“javac.exe”文件即可。我希望它能帮助你。谢谢

首先确保您的
jdk\lib文件夹中有一个tools.jar

如果是,则遵循以下步骤:

  • jdk
    目录中的命令提示符中执行以下代码

    for %I in (.) do echo %~sI
    
  • 即使您不在
    jdk
    目录中,也只需添加目录名而不是“.”。此代码将返回dos路径。在
    JAVA\u HOME
    中复制粘贴dos路径

  • JAVA\u HOME\lib
    中再次运行上述代码。将其复制粘贴到名为
    CLASSPATH
    的环境变量中。只需在末尾添加
    “\tools.jar”

  • 即使这无助于重新安装Java(或者只是提取tools.jar文件进行交叉检查)。希望它有帮助

    我的笔记本电脑上有许多版本的
    JDK
    ,今天我遇到了这个问题:在我切换到
    JDK1.7
    到我的
    JAVA\u主页
    后,我在cmd中键入了
    javac
    ,并得到了那个错误。最后,我卸载了JDK1.7并重新安装了它,问题就解决了。

    。。对我来说,这似乎是一个很奇怪的错误。虽然在我们自己的代码中很常见,但我从未见过它来自SDK本身!还要注意的是,虽然我们使用标签的方式与定义不同,但我认为它非常适合这个问题。。(技术上这是一个。)请检查您的环境并显示
    JAVA_HOME
    JDK_HOME
    变量的值。我没有
    tools.jar
    !通常情况下,安装JDK时已经安装了tools.jar。如果tools.jar(C:\Java\jdk7\lib\tools.jar)没有安装,那么您可以尝试重新安装JDK。这对于在ubuntu 16.04中手动安装Java5是有效的。意思是说这两年前就有效了。谢谢。我正在从tools.pack解包到tools.jar错误:无法打开输入文件:tools.pack如果解包失败,唯一有帮助的就是卸载,然后安装Java。这是唯一对我有用的东西(Win10,Java 1.8.0_231)对我来说
    Java_HOME
    CLASSPATH
    没有设置,设置它们摆脱了这个错误你也可以手动设置
    Java_HOME
    CLASSPATH
    。然后您只需要打开一个新的
    cmd
    窗口来加载新的环境变量