最近,当尝试从命令提示符编译java程序时,我收到此错误:
Error: Cannot find or load main class com.sun.tools.javac.Main
我有JDK和JRE的最新版本,但我仍然得到错误。 这是我在命令行中输入的内容:
C:\Java_Source_Codes>javac hi.java
有人可以帮忙吗?
(这是我的java代码)
public class hi{
public static void main(String[] args){
System.out.println("hello, world!");
}
}
答案 0 :(得分:1)
您需要设置PATH变量,并提供编译所需的Java工具路径。
您需要在Path系统变量中包含这些文件夹。
D:\Program Files\Java\jdk1.6.0_32\jre;D:\Program Files\Java\jdk1.6.0_32\bin
只需将D:\Program Files\Java
替换为您在计算机上安装Java的文件夹即可。
此外,如果您使用的是JDK的任何其他版本,请将jdk1.6.0_32
替换为您自己的版本。
答案 1 :(得分:1)
你有很多问题,库马尔提到了汇编问题,但这并不是阻止你的直接问题。
您已将JAVA_HOME
设置为Java Runtime环境,但在系统javac
上找到PATH
。发生这种情况时,您可以从命令行调用javac
,但当javac
检测到JAVA_HOME
环境变量时,它会从不包含&的目录中加载其库。 #34; java工具",tools.jar
。 " java工具"的内容包括实现编译器的类。
您可能将JAVA_HOME
设置为/some/path/here/jre
。假设jre
目录是JDK附带的嵌入式JRE,您可能应该将JAVA_HOME
设置为/some/path/here
。
答案 2 :(得分:0)
设置系统中jdk的bin目录的路径..
尝试在cmd上键入java -version
以查看您的Java路径是否已正确设置。
我的是......
C:\Program Files\Java\jdk1.7.0\bin
答案 3 :(得分:0)
这是由于你的PATH存在一些问题。
快速猜测你的PATH上有多个版本的java
答案 4 :(得分:0)
我遇到了类似的问题但发现了一个简单的解决方案,也可能适用于您的情况。
我的问题是我只是在c目录中创建了一个新文件夹来保存我的* .java文件(比如测试文件夹)并将我的PATH设置为... jdk \ bin文件夹。
当我尝试在cmd中编译时,我找不到相同的错误主类。
所以我去了环境变量和用户变量,在那里我看到我的CLASSPATH指向同一个文件夹。所以我把我的CLASSPATH改为我的文件C:\ test中的文件夹,问题解决了。
希望这有帮助。