java基础---报错为找不到或无法加载主类 HelloWorld1

错误: 找不到或无法加载主类 HelloWorld1

一、报错描述

错误描述:在 idea 软件中编写 HelloWorld1.java 文件并运行成功。

 

package com.dysunlin.chapter01;

/**

  • @author suns

  • @create 2022-10-19 19:12
    */
    public class HelloWorld1 {
    public static void main(String[] args) {
    System.out.println("hi");
    System.out.println("hello");

    }

}
class A{}
class B{}

但是在 DOS 黑窗口中运行 javac HelloWorrld1.java 成功,运行 java HelloWorld1 失败。Dos 黑窗口报错: 找不到或无法加载主类 HelloWorld1

D:\project\idea\javase\src\com\dysunlin\chapter01>java HelloWorld1
错误: 找不到或无法加载主类 HelloWorld1

二、分析原因

找不到类或者无法加载主类主要有以下原因:

  • 没有配置 classpath, 或者 dos 窗口没有切换到 java 文件所在的目录。
  • Classpath 配置错误,前面没有加”.”。这个点代表当前目录。
  • Classpath 配置的位置错误,这个要配置在系统变量中。
  • 源文件中存在包,这个会影响类文件的运行。

三、解决办法

解决办法:

  1. 检查当前系统的环境变量中有关类路径的配置是否正确。经检查是正确的。
  2. 经检查发现源文件存在包名。此时有两个解决方案。

方案 1:删除源文件的包(package com.dysunlin.chapter01;),然后只在黑窗口中执行 java 类文件名。发现可以执行成功。此方案不推荐,主要会影响到 idea 中的源文件而不能执行。

方案 2:先执行javac  -d . HelloWorld1.java 命令。注意”.”的前后要有空格,此命令运行之后,会根据包名生成相对应的文件夹名。

    再执行 java com.dysunlin.chapter01.HelloWorld1命令就会成功。

D:\project\idea\javase\src\com\dysunlin\chapter01>javac  -d . HelloWorld1.java
D:\project\idea\javase\src\com\dysunlin\chapter01>java com.dysunlin.chapter01.HelloWorld1
hi
hello

四、参考博客

参考博客来源:https://blog.csdn.net/u013456370/article/details/78737104