问题描述:在使用java命令行进行编程,javac的编译通过了,但是java运行出现错误:找不到或无法加载主类,但是我通过javap反编译在命令行可以看到该类的内容,类名与文件一样,我没有写包名就是一个最简单的java测试,不存在类名一致与包名带来的全限定名的问题,之后,将该类内容复制到IDE中区运行完全没有问题。
解决方案:
最简单的方法就是直接使用IDE编程,不直接使用java命令行;其次就是检查一下你的java环境变量配置的classPath的值.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar是否有这个点“.”他代表当前目录,表示要包括当前目录中的类文件。如果没有写那么就会出现上面的问题,还有一种方法就是有点麻烦每次使用都要临时配置,使用java指令"-cp" 下面是示例
java -cp /path/to/your/directory YourMainClassName(java -cp 文件路径 你的类名)
大家如果还没有解决可以去看一下这位博主的文章写的挺不错的,大佬的博客