Java "Could not find or load main class"(PATH 和 CLASSPATH 已经设置)
Java "Could not find or load main class" (PATH and CLASSPATH Already Set)
我在命令行上 运行ning java 遇到问题。我检查了很多其他问题,none 解决了我的问题。
我正在使用 Windoze 10 x64
.
安装在 C:\Program Files\Java
,我有以下文件:
jdk1.8.0_121
和 jre1.8.0_121
.
我已经将 JAVA_HOME
、PATH
和 CLASSPATH
设置如下:
JAVA_HOME as C:\Program Files\Java\jdk1.8.0_121
PATH as %JAVA_HOME%/bin
CLASSPATH as %JAVA_HOME%/lib
这是系统变量的当前配置。我尝试了很多配置变体,但 none 似乎有所帮助。例如添加到 PATH %JAVA_HOME%\jre1.8.0_121\bin
也是如此。似乎没有任何帮助。
如果我 运行 java -version
和 javac -version
它们会通过,显示当前安装的版本。
我也可以编译,例如:javac HelloWorld.java
成功
当我尝试 java HelloWorld
时,我得到 Could not find or load main class HelloWorld
。
这是 HelloWorld.java
文件:
public class HelloWorld{
public static void main(String [] args){
System.out.println("Hello World!");
}
}
我花了 +2 小时试图解决这个问题。我敢肯定这是菜鸟犯的错误,但老实说,我只是想设置一下,这样我就可以开始学习 Java。
我可以 运行 java 使用 IntelliJ IDEA Community Edition
的控制台,但不能直接在 CMD 上。
如果你能像 LI5 一样引导我,我将不胜感激,我真的在寻找解决方案,观看了有关如何设置系统变量的视频,但没有任何结果。
如果您需要更多信息,我很乐意提供,谢谢。
编辑:好的,问题已解决。感谢@azurefrog 和@mirmdasif 帮助我解决了这个问题。
您可以阅读 Here 以及下面关于 azurefrog 的评论和 mirmdasif 的回复,您需要将当前工作目录添加到 CLASSPATH
。
通过向 CLASSPATH
添加一个 .
(点),将当前工作目录添加到 CLASSPATH
。
所以 CLASSPATH
应该看起来像这样:.;%JAVA_HOME%/lib
(注意 .
后跟分号 ;
。
有时会发生。你应该尝试在 C:\Windows\System32
中找到 java.exe,如果它在那里你需要删除它。
示例:Java Windows7 System32 folder java.exe
问题出在您的 CLASS_PATH
变量上。
The preferred way to specify the classpath is by using the -cp command line switch. This allows the CLASSPATH to be set individually for each application without affecting other applications
ClassPath 变量的默认值为'.',这意味着只搜索当前目录。如果您指定类路径变量,默认值将被覆盖。
如果想将类路径设置为环境变量,您可以按照运行命令提示符中的以下命令进行操作(记住开头的点)
C:> set CLASSPATH=.;C:\Program Files\Java\jdk1.8.0_121\lib\*
更多信息http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html
只需在 classpath 中更新你的环境变量,只要你得到:
错误:无法找到或加载主 class XXX
然后浏览到 C:\Program Files\Java\jre1.8.0_181
我在命令行上 运行ning java 遇到问题。我检查了很多其他问题,none 解决了我的问题。
我正在使用 Windoze 10 x64
.
安装在 C:\Program Files\Java
,我有以下文件:
jdk1.8.0_121
和 jre1.8.0_121
.
我已经将 JAVA_HOME
、PATH
和 CLASSPATH
设置如下:
JAVA_HOME as C:\Program Files\Java\jdk1.8.0_121
PATH as %JAVA_HOME%/bin
CLASSPATH as %JAVA_HOME%/lib
这是系统变量的当前配置。我尝试了很多配置变体,但 none 似乎有所帮助。例如添加到 PATH %JAVA_HOME%\jre1.8.0_121\bin
也是如此。似乎没有任何帮助。
如果我 运行 java -version
和 javac -version
它们会通过,显示当前安装的版本。
我也可以编译,例如:javac HelloWorld.java
成功
当我尝试 java HelloWorld
时,我得到 Could not find or load main class HelloWorld
。
这是 HelloWorld.java
文件:
public class HelloWorld{
public static void main(String [] args){
System.out.println("Hello World!");
}
}
我花了 +2 小时试图解决这个问题。我敢肯定这是菜鸟犯的错误,但老实说,我只是想设置一下,这样我就可以开始学习 Java。
我可以 运行 java 使用 IntelliJ IDEA Community Edition
的控制台,但不能直接在 CMD 上。
如果你能像 LI5 一样引导我,我将不胜感激,我真的在寻找解决方案,观看了有关如何设置系统变量的视频,但没有任何结果。
如果您需要更多信息,我很乐意提供,谢谢。
编辑:好的,问题已解决。感谢@azurefrog 和@mirmdasif 帮助我解决了这个问题。
您可以阅读 Here 以及下面关于 azurefrog 的评论和 mirmdasif 的回复,您需要将当前工作目录添加到 CLASSPATH
。
通过向 CLASSPATH
添加一个 .
(点),将当前工作目录添加到 CLASSPATH
。
所以 CLASSPATH
应该看起来像这样:.;%JAVA_HOME%/lib
(注意 .
后跟分号 ;
。
有时会发生。你应该尝试在 C:\Windows\System32
中找到 java.exe,如果它在那里你需要删除它。
示例:Java Windows7 System32 folder java.exe
问题出在您的 CLASS_PATH
变量上。
The preferred way to specify the classpath is by using the -cp command line switch. This allows the CLASSPATH to be set individually for each application without affecting other applications
ClassPath 变量的默认值为'.',这意味着只搜索当前目录。如果您指定类路径变量,默认值将被覆盖。
如果想将类路径设置为环境变量,您可以按照运行命令提示符中的以下命令进行操作(记住开头的点)
C:> set CLASSPATH=.;C:\Program Files\Java\jdk1.8.0_121\lib\*
更多信息http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html
只需在 classpath 中更新你的环境变量,只要你得到: 错误:无法找到或加载主 class XXX
然后浏览到 C:\Program Files\Java\jre1.8.0_181