Java.lang.classnotfoundexception - HelloWorld.class [duplicate]

问题描述 投票:0回答:2

这个问题在这里已有答案:

似乎无法理解导致此错误的原因。我已将环境变量中的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!");
    }
}

任何提示将非常感谢。

java class compilation classnotfoundexception
2个回答
1
投票

CLASSPATH环境变量不应该指向你的java安装的位置(你真的不需要任何环境变量指向它。一些过时的工具可能需要你设置JAVA_HOME,但不是'bin'目录但是到它的父母)。

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

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

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

java -cp c:\ java HelloWorld


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

© www.soinside.com 2019 - 2024. All rights reserved.