1. 程式人生 > >CMD執行Intellij Idea編譯後的class檔案

CMD執行Intellij Idea編譯後的class檔案

或許很多Java初學者都會用javac、java命令執行程式,執行過幾次後就轉向開發工具。我本人也是這樣,很久沒有用命令列去執行java檔案了,現在都是用Eclipse、Intellij Idea等編譯工具直接編譯執行。昨天開始學習《演算法》,裡面很多程式碼都用到了命令列重定向檔案實現輸入輸出,所以昨天用命令去執行class檔案時碰到了一個NoClassDeFoundError異常,網上說的也很雜,看得"一頭霧水",其實還是基礎不好,搞清楚原理很多問題就迎刃而解了。

Idea編譯後java檔案和class檔案不在同一個目錄(後來發現和這沒關係)

重新建一些目錄測試
然後cmd進入當前目錄,javac編譯生成class檔案,然後複製到out\com\test目錄

然後進入該目錄(模擬Idea目錄),java HelloWorld執行報錯
查了很多資料,發現只要在包的上一層目錄(src)或者在任意目錄新增classpath都可以執行 方法一:
方法二:
終於成功運行了,可以愉快地玩程式碼了... 知識點: 包是Java中為了解決命名衝突而設定的,一個程式寫了包和沒寫在JVM中是兩個東西,若沒寫,預設包,虛擬機器會把所有的不寫包名的類規整在一起組成預設包,預設包時不需要注意檔案包結構