初學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),否則會出錯。
相同錯誤其他可能情況:檢查環境變量是否正確