Java 错误:找不到或无法加载主类(源文件中含有包名 package)

时间:2022-03-05 22:54:02

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

references