Java.lang.classnotfoundexception - HelloWorld.class

Java.lang.classnotfoundexception - HelloWorld.class

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

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

我正在 运行ning 来自 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!");
    }
}

如有任何提示,我们将不胜感激。

如果你的class路径,

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

您的 class 加载程序将从那里查找 .class 文件,

将您的当前目录包含到您的 CLASSPATH 中,在您的情况下,您的 .class 文件位于 C:\Java,因此 java 无法找到您的 .class 文件,试试这个

CLASSPATH=C:\Java

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

PATH and CLASSPATH

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

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

如果您的 HelloWorld.class 文件没有包声明并且位于 C:\java\HelloWorld.class,那么 C:\java 需要是您的 class 路径。

您可以为此使用 CLASSPATH,但是……不要。您可以在一台机器上有多个项目,所以 'one machine, one classpath' 的概念很愚蠢。使用命令行参数:

java -cp c:\java HelloWorld