使用java命令直接执行.class文件时,提示:找不到或无法加载主类 问题分析。
如下两个测试类:Test1 和 Test
两个类的区别在于:Test 类中定义了包名
然后分别用java命令运行这两个类对应的.class文件,发现Test1成功,但Test失败,命令倒是在各文件对应路径下执行的。
Test1.class执行成功
Test.class 执行失败
从上面现象来看,可能时定义包名造成的问题。后来想起来,java中类的名称应该是:包名+类名;
所以Test类的名称应该是:src\main\java\com\Test.java
再尝试一下,还是报错;那是为什么呢?观察下面的提示可以发现:我的命令已经再com下执行的命令
其实他会以为起路径是:D:\iHR\BUG_COUNT\target\classes\com\target\classes\com\Test
那我们退回到classes目录下执行,发现还是不行
上网百度好久,发现有些人的命令中不是用的“\”,而是 “.”,然后再尝试一下
发现成功了。