1. 程式人生 > >maven中進行junit測試報class not found的問題

maven中進行junit測試報class not found的問題

初接觸maven,maven的路徑和常規的eclipse專案不是很一樣,java檔案放在src/main/java目錄下,test檔案放在src/test/java目錄下,常規的測試方式是使用mvn test進行單元測試,但是使用eclipse習慣了,直接在IDE中進行測試的時候,報異常了,class not found exception。

剛開始查,以為是構建路徑的問題,因為在看maven的時候網上有人說要設定eclipse的buildpath,然後改過來改過去的,但是有時候好有時候壞,很是鬱悶,感覺問題不在此。再仔細一琢磨,既然是class Not found,那就去找找這個class檔案看看目錄對不對啊,這一找就找到原因了,根本就沒有這個類,也就是說,這個java檔案根本就沒有編譯成class檔案。在eclipse中,是可以自動幫我們編譯的,但是我們在maven中運行了mvn clean命令後,就將編譯好的class檔案清理掉了,這時候如果用maven進行測試,執行mvn test,maven會自動幫你再編譯一遍,測試就可以正常執行。但是直接在eclipse中的話,eclipse找不到編譯好的class檔案,當然就會報異常了。解決辦法就是執行命令mvn test進行測試,這次測試通過之後,只要你沒有再執行mvn clean,那麼在eclipse中直接執行單元測試,也是可以通過的。

這次總結到的經驗教訓:有些問題,不要著急上網查,自己多琢磨一下為什麼會報這樣的異常,往深層次的原因想一下,或許解決辦法很簡單。