Java.lang.classNotFoundException-HelloWorld.class

时间:2018-09-18 11:57:10

标签: java class compilation classnotfoundexception

似乎无法理解导致此错误的原因。我已将环境变量中的CLASSPATH设置为C:\Program Files\Java\jdk-10.0.2\bin

我可以使用.class将代码编译成javac HelloWorld.java文件。但是,当尝试使用.class运行java HelloWorld文件时,出现以下错误:

我正在运行C:\Java.java文件的目录.class中的代码。

 c:\Java>java HelloWorld
 Error: Could not find or load main class HelloWorld
 Caused by: java.lang.ClassNotFoundException: HelloWorld

代码:

public class HelloWorld {

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

任何提示将不胜感激。

2 个答案:

答案 0 :(得分:1)

如果您的类路径是

CLASSPATH=C:\Program Files\Java\jdk-10.0.2\bin

您的类加载器将从那里查找.class文件,

将当前目录包含在CLASSPATH中,因为您的.class文件位于C:\Java,因此java找不到您的.class文件,请尝试使用此文件

CLASSPATH=C:\Java

CLASSPATH变量是java.classjar文件路径中查找的地方

PATH and CLASSPATH

答案 1 :(得分:1)

CLASSPATH环境变量不应该指向Java安装的位置(您实际上并不需要任何环境变量来指向该位置。一些过时的工具可能需要您设置JAVA_HOME,但不需要将其设置为'bin ,但指向其父目录)。

它应该指向您的类文件的位置。

如果您的HelloWorld.class文件没有包声明,并且位于C:\java\HelloWorld.class上,则C:\java必须是您的类路径。

您可以为此使用CLASSPATH,但是...不能。您在一台机器上可以有多个项目,因此“一台机器,一个类路径”的概念很愚蠢。使用命令行参数:

java -cp c:\ java HelloWorld