从命令提示符编译java应用程序时出错

从命令提示符编译java应用程序时出错,java,Java,最近,在尝试从命令提示符编译java程序时,我遇到以下错误: Error: Cannot find or load main class com.sun.tools.javac.Main 我有最新版本的JDK和JRE,但仍然会出现错误。 以下是我在命令行中键入的内容: C:\Java_Source_Codes>javac hi.java 有人能帮忙吗 (这是我的java代码) 设置系统中jdk的bin目录的路径 尝试在cmd上键入java-version,查看您的java路径设置是否正

最近,在尝试从命令提示符编译java程序时,我遇到以下错误:

Error: Cannot find or load main class com.sun.tools.javac.Main
我有最新版本的JDK和JRE,但仍然会出现错误。 以下是我在命令行中键入的内容:

C:\Java_Source_Codes>javac hi.java
有人能帮忙吗

(这是我的java代码)


设置系统中jdk的bin目录的路径

尝试在cmd上键入
java-version
,查看您的java路径设置是否正确

我的是

C:\Program Files\Java\jdk1.7.0\bin

您需要将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

这是由于您的路径存在问题


库马尔提到了编译问题,但这并不是阻止你前进的直接问题

您已将
JAVA\u HOME
设置为JAVA运行时环境,但正在系统
PATH
上查找
javac
。发生这种情况时,您可以从命令行调用
javac
,但当
javac
检测到
JAVA\u HOME
环境变量时,它会从不包含“JAVA工具”的目录中加载其库,
tools.jar
。“java工具”的内容包括实现编译器的类


您可能已将
JAVA\u HOME
设置为类似
/some/path/here/jre
的值。假设
jre
目录是JDK附带的嵌入式jre,您可能应该将
JAVA\u HOME
设置为
/some/path/here
我遇到了类似的问题,但找到了一个简单的解决方案,可能也适用于您的情况

我的问题是,我只是在c目录中创建了一个新文件夹来保存我的*.java文件(如测试文件夹),并将路径设置为…jdk\bin文件夹

当我尝试在cmd中编译时,我得到了相同的错误:找不到main类

所以我转到环境变量和用户变量,在那个里我看到我的类路径指向同一个文件夹。因此,我将我的类路径更改为在案例C:\test中包含文件的文件夹,问题就解决了


希望这能有所帮助。

我想问题发生得更早。对不起,这是我写的问题!在我的程序中也是一样:)问题是javac HelloWorld.java第一次发布时的问题。他找不到编译器类,所以它没有接近命名约定的问题,我很抱歉,我尝试键入java-version,但它发现“java”不被认为是内部或外部命令,可操作程序或批处理文件这是不对的,如果路径错误,则他无法访问
javac
。这是因为他的JAVA_主页没有指向JDK,它可能指向JDK中的嵌入式JRE,因此能够调用
javac
,并且无法找到包含编译器实现的
tools.jar
。我这样做了,但现在它说javac不被识别为内部或外部命令,可操作程序或批处理file@user1532256这是因为您有一个使用JAVA_HOME的路径条目,并且您没有更新该路径条目以包含JDK bin目录(很可能是由于错误的JAVA_HOME设置而造成的)或者是因为您试图遵循多个“建议”并以其他方式错误地设置了路径。好的。。。如何设置JAVA_主路径?我试着在cmd中输入它,然后是路径,但它只是再次提到批处理文件的事情,只是这次使用JAVA_HOME没有“JAVA_HOME path”这样的东西。有一个JAVA_HOME环境变量和一个PATH环境变量。JAVA_HOME应该指向安装的基本目录,PATH应该设置为与JAVA_HOME相同的值,并添加一个额外的“bin”目录。因此,如果您在C:\Java-1.6.23中安装了Java,那么Java\u HOME应该设置为“C:\Java-1.6.23”,路径应该包含一个条目“C:\Java.1.6.23\bin”。
D:\Program Files\Java\jdk1.6.0_32\jre;D:\Program Files\Java\jdk1.6.0_32\bin