在windows命令行窗口运行Java程序代码中出现package报错无法加载主类

xiaoxiao2021-02-28  79

如果要在cmd命令行中,使用java运行java程序,可能会出现如下问题:

观看一下datademo1.java的代码

package hjfjhf;public class DataDemo1 {public static void main(String[] args) { int max=Integer.MAX_VALUE; System.out.println("整型的最大值:"+max); System.out.println("整型最大值+1:"+(max+1L)); System.out.println("整型最大值+2:"+(max+2L)); System.out.println("整型最大值+2:"+((long)max+2));}

}

出现错误:找不到或无法加载主类这样的错误的可能之一就是在代码上面还有package加包名

即利用命令提示符运行Java程序要注意的,

解决办法:

1.去掉 package hjfjhf;

2.新建一个包名一样的文件夹,为建立一个hjfjhf的文件夹,把datademo1.java文件移到该目录下。

然后在hjfjhf文件夹的平级下,打开DOS命令窗口,运行javac hjfjhf/datademo1.java编译程序,

运行java hjfjhf/datademo1(或者java hjfjhf.datademo1),则可以运行含有包名的java程序。

注意:包名不要含有'.'(),' '(空格)等特殊符号,这样的话命令行无法判断包名与java程序名的分割点在哪里,

从而还是找到或者无法加载主类。

原理说明:

java程序运行class文件,对于有包名的类,java把包名当成文件夹处理."包名+类名"相当于"文件夹目录+类名"来寻找类。

这也是去搜到其他人的文章才知晓,这里做个笔记。

转载请注明原文地址: https://www.6miu.com/read-2350092.html

最新回复(0)