我刚开始学习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\
任何帮助将不胜感激!
答案 0 :(得分:18)
您可能已经完成了JDK的手动安装。无论如何,这个错误几乎肯定是由于Java安装中的缺陷造成的。为了解决这个问题,您必须在JAVA_HOME / lib目录中执行以下命令:
unpack200 -r -v -l"" tools.pack tools.jar
这将解压工具.jar文件,您的安装(手动或非手动)没有为您完成。之后尝试执行:
javac -version
此命令应该可以正常工作。这类似于Java命令可能出现的错误,基本上相同的原因是,您的安装没有解压缩必要的文件。您可以参考以下链接:JRE 1.7 returns: java/lang/NoClassDefFoundError: java/lang/Object
我自己遇到了这个问题,我的解决方案稍微适应了另一个答案。
答案 1 :(得分:2)
安装后重新启动了吗?在重新启动Windows之前,有一些重要的环境变量(即CLASSPATH
)未设置。无论如何,您可以通过向rt.jar
添加tools.jar
和CLASSPATH
来解决此问题。此外,您应该确保已设置JAVA_HOME
。
答案 2 :(得分:1)
您的源代码没问题。
错误日志表示无法找到包含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。如果它不存在,那就错了。所以,你重试安装。
如果它存在,嗯,我不知道。我建议你重新安装。
答案 3 :(得分:0)
首先确保jdk\lib folder
中有一个tools.jar。
如果是,请按照以下步骤操作:
在jdk
目录
for %I in (.) do echo %~sI
即使您不在jdk
目录中,只需添加目录名称而不是“。” 。此代码将返回dos路径。复制粘贴JAVA_HOME
中的dos路径。
JAVA_HOME\lib
时再次运行上述代码。将粘贴复制到名为CLASSPATH
的环境变量中。最后添加"\tools.jar"
。即使它没有帮助尝试重新安装Java(或只是提取tools.jar文件进行交叉检查)。希望它有所帮助
答案 4 :(得分:0)
我的笔记本电脑上有很多JDK
版本,今天我遇到了这个问题:将JDK1.7
切换到JAVA_HOME
之后,我在cmd中键入了javac
并得到那个错误。最后,我卸载了JDK1.7
,然后重新安装,问题就解决了。
答案 5 :(得分:-1)
我在JDK1.7_67上遇到了这个问题。
我通过分离JDK和JRE安装解决了这个问题。
JDK安装在D:\ Java \ jdk1.7_67中,带有自己的jre / lib文件夹,JRE安装在D:\ Java \ jre1.7_67,带有自己的lib文件夹。
这为我解决了tools.jar问题。
答案 6 :(得分:-1)
"的javac.exe"在jdk的bin文件夹中丢失。检查它,如果它不存在那么只需复制" javac.exe"来自您朋友的任何计算机的java / jdk / bin文件夹中的文件,这些文件也使用java。我希望它会对你有所帮助。谢谢