似乎无法理解导致此错误的原因。我已将环境变量中的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!");
}
}
任何提示将不胜感激。
答案 0 :(得分:1)
如果您的类路径是
CLASSPATH=C:\Program Files\Java\jdk-10.0.2\bin
您的类加载器将从那里查找.class文件,
将当前目录包含在CLASSPATH中,因为您的.class文件位于C:\Java
,因此java
找不到您的.class文件,请尝试使用此文件
CLASSPATH=C:\Java
CLASSPATH
变量是java
在.class
和jar
文件路径中查找的地方
答案 1 :(得分:1)
CLASSPATH环境变量不应该指向Java安装的位置(您实际上并不需要任何环境变量来指向该位置。一些过时的工具可能需要您设置JAVA_HOME,但不需要将其设置为'bin ,但指向其父目录)。
它应该指向您的类文件的位置。
如果您的HelloWorld.class
文件没有包声明,并且位于C:\java\HelloWorld.class
上,则C:\java
必须是您的类路径。
您可以为此使用CLASSPATH,但是...不能。您在一台机器上可以有多个项目,因此“一台机器,一个类路径”的概念很愚蠢。使用命令行参数:
java -cp c:\ java HelloWorld