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