小伙伴们在使用JAVA的时候有没有遇到这种情况?在运行JAVA的时候,使用这款软件编译记事本文件成功了,而且已经生成了.class的文件,但是使用JAVA软件运行的时,却碰到了提示找不到
小伙伴们在使用JAVA的时候有没有遇到这种情况?在运行JAVA的时候,使用这款软件编译记事本文件成功了,而且已经生成了.class的文件,但是使用JAVA软件运行的时,却碰到了提示找不到或无法加载主类!这是怎么回事呢?怎么好好的文件运行不了呢?
具体步骤:
1、我们的工程路径是D:\HelloWorld,在HelloWorld文件夹中建立一个src文件夹,类B的源代码文件就放在src中。用javac编译完以后会在src文件夹中生成NewsManager.class,如下:
![找不到或无法加载主类](http://img.558idc.com/uploadfile/allimg/soft/cce0185ca78f98a00af5c8bee15c2ed8.jpg)
2、执行如下:
![找不到或无法加载主类](http://img.558idc.com/uploadfile/allimg/soft/06faac5844acf18ee9c1bf739e47791c.jpg)
3、现在我们再把源代码换成类A。
![找不到或无法加载主类](http://img.558idc.com/uploadfile/allimg/soft/1d0f08a1f608c933bc94e8525e61168f.jpg)
4、类A中package的路径是org.will.app.main。按照java规定,我们应该按照package定义的路径来存放源文件,类A应该放入:
src\org\will\app\main下,如下:
![找不到或无法加载主类](http://img.558idc.com/uploadfile/allimg/soft/e9924c608f6d14c12028cfed817fc26d.jpg)
5、然后我们编译执行:
![找不到或无法加载主类](http://img.558idc.com/uploadfile/allimg/soft/ac3c82d3036de764f642de86393be9e2.jpg)
6、依然有问题,为什么,其实大家再回去看看java的书籍就会发现,一个类的全名应该是包名+类名。类A的全名:org.will.app.main.NewsManager。再试试:
![找不到或无法加载主类](http://img.558idc.com/uploadfile/allimg/soft/3c14abc407a970912f9effe7aa59a695.jpg)
7、仔细看上面的图,我们在main目录下让java命令去执行org.will.app.main.NewsManager,其实它会以为类的路径是:D:\HelloWorld\src\org\will\app\main\org\will\app\main\NewsManager,大家看到了吧,路径重复了。所以,我们应该这样执行:
![找不到或无法加载主类](http://img.558idc.com/uploadfile/allimg/soft/f9a7acb0fc13d178acba53e1255a3f58.jpg)