记事本编译运行Java程序 报错Could not find or load main class ...解决办法

一直都用Eclipse编译运行Java程序,为了更好地了解Java程序的编译运行过程,手动地编译Java应用程序,因为涉及到不同的包,所以遇到不少问题。比如Could not find or load main class …
记录下这篇文章希望后来的朋友不要踩坑。

下面,让我们来看一下Java程序的编译运行具体过程。
首先,在测试文件夹下,新建io和model两个目录。分别作为类Main和类Student的包。
这里写图片描述
在记事本编写类Student,我这里用的是NotePad++,用记事本是一个道理。
Student类中要添加包名model。这里就一个属性name,方便之后再main函数中测试输出。
这里写图片描述
在记事本中编写类Main,注意在开头写明包名,并导入Student类的包路径。
这里写图片描述
注意将上面的Student和Main的后缀名都改为”.java”。然后保存在对应的目录下。
在测试目录下打开命令行。(在对应目录下按住shift点鼠标右键,即可看到该选项)
在控制台输入
javac ./io/Main.java ./model/Student.java
对Main和Student进行编译。
这里写图片描述
打开model目录和io目录可以看到Student类和Main类分别在对应目录下生成了.class文件。说明编译成功。
这里写图片描述
这里写图片描述
在命令行下输入
java io.Main
可以看到输出“boy”,说明class文件可以正常运行。
这里写图片描述
这里说一下我之前遇到的问题,我在编译生成.class文件后,直接进入包含Main.class的目录下,用java命令运行包含主函数的Main.class,结果报错Could not find or load main class Main。
这里写图片描述
这里卡了好一会,参考了这篇文章才得到解决:
https://blog.csdn.net/weakfantasy/article/details/53379501
原因是
这里写图片描述

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页