命令行中编译和运行JAVA程序出现“错误: 找不到或无法加载主类”
初学JAVA,今天在命令行界面中尝试编译和运行Hello.java
(文件当前目录.....\src\chapter1)
1 package chapter1; 2 3 public class Hello { 4 public static void main(String[] args){ 5 if(args.length==0) 6 System.out.println("hello!"); 7 else{ 8 for(int i=0;i<args.length;i++) 9 System.out.println(args[i]); 10 } 11 } 12 }
时遇到错误提示:
错误: 找不到或无法加载主类 Hello
经查阅资料解决了这个问题。
问题原因:
JAVA中包的概念不明白。本程序段是之前在Eclipse中编辑测试好的,直接copy过来使用,使得程序段中留下多余的包的声明
1 package chapter1;
Hello类中把它放到了chapter1包下,而环境变量classpath设定了当前目录,当前的目录是.....\src\chapter1,执行器会在当前的目录下找chapter1这个包,而实际上chapter1下并没有。所以找不到类Hello。
解决方法:
1、把package语句去掉
2、在当前目录下再创建个chapter1文件夹,把源文件放进去。(.....\src\chapter1\chapter1)/运行时回退到上一层目录(.....\src)
注意编译是一定要在文件所在路径下(.....\src\chapter1),否则会出错。
相同错误其他可能情况:检查环境变量是否正确