eclipse執行main方法報錯NoClassDefFoundError原因
阿新 • • 發佈:2019-01-26
大部分寫java的都習慣使用如eclipse這樣的工具,執行一個java類的main方法,自然是右鍵-Run As-Java Application。本來好好的,突然報錯NoClassDefFoundError,首先我想到的是class沒有編譯出來,我的是web工程,當然去WEB-INF下的class裡看,看了發現編譯出來了。
接著看Java Build Path裡面的Default output folder,確實是WEB-INF。
到這裡就停滯了,因為我的經驗僅限於此,而接著也很難從網上搜索到答案。有些人可能會放棄直接使用命令列或新建一個工程運行了,但這不是我的風格。遇到這樣的問題,應該怎麼解決?
又是長時間的冥想。。。(好像用了1小時還是2小時)
突然想起這個工程我剛剛轉為了maven工程!會不會是這個原因?把Java Build Path裡面的Default output folder改為target,果然OK了。
總結
1、對MyEclipse2014自動轉maven工程的原理不熟悉;轉maven工程時,不只是生成target目錄、pom.xml,改output folder,還改了執行class的路徑(配置檔案在哪裡麻煩知道的兄弟告訴一下哦),這個路徑不是又output folder決定的;
2、對MyEclipse執行java app的原理不熟悉,以為output folder就是class執行的路徑;
3、如果突然出現了一個問題,大多是最近的改動引起的。如果束手無策的時候,可以從這方面入手;
4、程式設計了很多年,不表示遇到小問題的時候一定能快速解決,雖然最終一定能解決。特別是當了PM或管理者以後。