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

时间:2012-07-17 15:43:33

标签: java

最近,当尝试从命令提示符编译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!");
  }
}

5 个答案:

答案 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中的文件夹,问题解决了。

希望这有帮助。