关于java:无法在cmd中找到或加载主类错误

Could not find or load main class error in cmd

在Windows CMD中编译问题之后,我改变了路径,然后开始编译Java文件。

1-)我添加了环境变量:2个新的用户变量;将它们命名为路径和类路径;我将变量值添加到JDK位置,我还对系统变量执行了相同的过程。2-)我编写了一个简单的程序,它只打印hello world,并将其命名为m,这样我就能知道它是否工作。我把它保存在桌面上,然后写在Cmd CD桌面上…在同一个LOC中,我编写了JavaM.java,然后编译成功,生成它的类M.类,然后用CMD JavaM编写,不幸的是,我得到了这个错误。错误:无法找到或加载主类

*程序没有语法或逻辑错误,我只是用helloworld尝试了一下,正如我前面提到的程序,同样的问题继续。谢谢


java在类路径中列出的目录和JAR文件中查找类(运行时环境附带的标准类除外)。

运行程序时没有传递任何类路径选项。因此,Java寻找一个定义目录和JAR文件列表的EDCOX1×1环境变量。

大概,你没有任何这样的环境可用(这是一件好事,顺便说一句)。因此,您只需将类路径作为Java的选项传递:

1
java -cp . M

这告诉Java类文件应该在当前目录中找到(EDOCX1,2)。由于类位于默认包中,因此它将在当前目录中查找m.class。如果Mcom.mycompany包中,您将使用

1
java -cp . com.mycompany.M

它将从当前目录开始查找文件com/mycompany/M.class

当然,如果您从另一个目录运行这个命令,那么您应该更改选项的值。例如:

1
java -cp c:\Desktop com.mycompany.M

将类放在默认包中是一种糟糕的做法。习惯将它们放在包中。

注意,命名一个类M是很糟糕的。给你的类起有意义的名字,比如BicyclePasswordGenerator