背景描述:
在 idea 中创建 Java 类,找到类所在目录,打开 cmd 窗口,使用 javac 编译程序,编译完成后使用 java 命令,一直出现“找不到或无法加载主类”。
编写的代码为:
package com.tian.chapter1;
/**
* @author tianpeiyu
* @description TODO
* @date 2022/7/30 16:12
*/
public class Example2 {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
解决方法:
进入项目的 src 目录,使用 java 命令+目录名+类名执行即可,如下图所示
原因分析:
java 命令运行 class 文件时,有包名的文件会当做文件夹来进行处理,因此寻找的路径是“包名+文件名”。
当我们已经在 chapter1 文件夹下时,使用 java 命令运行,由于包含包名“com.tian.chapter1”,因此会在该文件夹下继续向下寻找 com/tian/chapter1 下的 Example2 文件,所以无法寻找到。
切换到 src 路径下之后,再执行 java com/tian/chapter1/Example2 命令,便可沿着指定路径顺利找到文件并执行成功。