如果要在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把包名当成文件夹处理."包名+类名"相当于"文件夹目录+类名"来寻找类。
这也是去搜到其他人的文章才知晓,这里做个笔记。