编译器错误 – ‘错误:无法找到或加载主类com.sun.tools.javac.Main’

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

每当我尝试编译时,我都会收到错误:

 Error: Could not find or load main class com.sun.tools.javac.Main 

这是我正在编译的方式:

 javac test.java 

我也尝试过:

 javac.exe test.java 

我不知道我的代码是错还是什么,但这是我的test.java

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

这是JAVA_HOME:

 C:\Java\jdk7\ 

任何帮助,将不胜感激!

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

unpack200 -r -v -l“”tools.pack tools.jar

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

javac -version

这个命令应该运行良好。 这类似于Java命令可能出现的错误,基本上相同的原因是,您的安装没有解压缩必要的文件。 你可以参考这个链接: JRE 1.7返回:java / lang / NoClassDefFoundError:java / lang / Object

我自己有这个问题,我的解决方案是对这个其他答案的一点调整。

你安装后重启了吗? 有一些重要的环境变量(即CLASSPATH )在重新启动Windows之前未设置。 无论如何,您可以通过将rt.jartools.jar添加到CLASSPATH来解决它。 此外,您应该确保您的JAVA_HOME已设置。

你的源代码没问题。

错误日志意味着无法找到包含tools.jar的类。 Tools.jar始终包含在JDK中。 所以,我猜你使用了错误的JDK。 所以,你试着写你安装的javac完整路径。
例子)“C:\ Program Files \ java \ jdk1.7.0_25 \ bin \ javac”test.java(windows)

如果它有效,那么路径变量中的JDK是错误的。 因此,您将路径“C:\ Program Files \ java \ jdk1.7.0_25 \ bin \”(例如)添加到路径变量中。
(见http://www.computerhope.com/issues/ch000549.htm )

如果它不起作用,请检查… \ jdk1.7.0_25 \ lib \ tools.jar。 如果它不存在,那就错了。 所以,你重试安装。
如果它存在,嗯,我不知道。 我建议你重新安装。

首先确保jdk\lib folder中有一个tools.jar。

如果是,请按照以下步骤操作:

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

     for %I in (.) do echo %~sI 

即使您不在jdk目录中,只需添加目录名称而不是“。” 。 此代码将返回dos路径。 复制粘贴JAVA_HOME的dos路径。

  1. 当您在JAVA_HOME\lib时,再次运行上面的代码。 将粘贴复制到名为CLASSPATH的环境变量中。 最后添加"\tools.jar"

即使它没有帮助尝试重新安装Java(或只是提取tools.jar文件进行交叉检查)。 希望能帮助到你

我在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 / jdk / bin文件夹中复制“javac.exe”文件,这些文件也使用java。 我希望它会对你有所帮助。 谢谢