java --- 错误: 找不到或无法加载主类(windows)

java --- 错误: 找不到或无法加载主类(windows)
首先我们需要知道java 命令的用法:
java Java 类名
在这里需要注意:java命令后面的参数是Java 类名,而不是字节码文件名,也不是java源文件名。
通过命令行窗口进入HelloWorld.class所在路径,输入命令:
java HelloWorld
运行上面命令,将会看到如下输出:
HelloWorld!
代表Java程序运行成功。

如果看到上面如图所示错误:可能是因为Java是区分大小写的,必须在命令后面的类名严格区分大小写。
关于是否必须保持类名和文件代码类名一致问题:简单说一句
看图废话不多说:代码 class HelloWorld 前面加了public 编译时候为:必须类文件名称与
代码中类名必须保持一致。
java --- 错误: 找不到或无法加载主类(windows)

我看其他帖子都说是环境变量设置问题。那么我们来重点说一下classpath 环境变量问题,
实际上,如果使用·1.5以上的版本的JDK,完全不用设置Classpath,就可以正常编译和运行。
classpath作用:当使用“java Java类名” 命令来运行java程序时,jre到哪里去搜索Java类?可能你会想到,在当前路径下搜索,但是1.4以前的版本jdk 没有设置这个功能,所以编译运行的时候提示找不到HelloWorld类。需要在classpath环境变量中增减一个点( . ),告诉jre需要在当前路径下搜索Java类。
除此之外还需要JDK的lib路径下的dt.jar和tools.jar文件中的java类,需要把这两项文件也添加到classpath环境变量中。

因此你会看到好多帖子告诉你需要设置环境变了classpath
值为.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (其中%JAVA_HOME%代表你安装JDK的文件目录)。

但是1.4以后的版本jre会自动搜索当前路径下的类文件,而且编译和运行java系统也会自动加载dt.jar和tools.jar文件中的Java类。但是你一旦设置了classpath环境变量,那么JRE将会按环境变量指定的路径来搜索Java类。

如果你想在运行Java 程序临时指定JRE搜索Java路径,则可以使用以下命令:
java -classpath dir1;dir2;dir3…;dirN Java类名

注释:-classpath 选项的值可以是一系列的路径,多路径需要用;来分开 。
实例:上图不废话
java --- 错误: 找不到或无法加载主类(windows)
总结:个人认为,你CMD命令在哪里启动,运行Java就在该目录下寻找Java类。
你直接在开始菜单启动cmd ,他所寻找的文件为:C:\Users\’”你的用户名“> 下,可你文件没有在这里,就需要java -classpath 指定到你java类文件夹,或者在你类文件夹窗口哪里直接输入cmd,在该目录下运行命令窗口。