Java 程序使用 java 命令运行,出现“找不到或无法加载主类”解决

背景描述:

在 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 命令,便可沿着指定路径顺利找到文件并执行成功。


版权声明:本文为cfgn369原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。