1. 问题定位
编译(javac)和执行(java)java 程序时,出现这种类型的错误:找不到或无法加载主类:
- 首先排除是否是环境变量配置不当造成的问题,只要保证,命令行界面能够识别 javac/java 命令,就说明环境变量配置没有问题。
出现这种问题,往往是因为,java 源文件中带有包名,如文件 C:\code\Hello.java:
package com.example; public class Hello{ public static void main(String[]args){ System.out.println("Hello"); } }
看上去似乎没什么问题,执行:
C:\code>javac Hello.java C:\code>java Hello 错误: 找不到或无法加载主类 Hello
2. 解决方案
- 源文件中删除包名(不提倡);
在 code 下创建与包名相同的文件路径结构(C:\code\com\example\Hello.java)
编译:C:\code>javac com/example/Hello.java 运行:C:\code>java com.example.Hello