這是因爲java編譯後的class文件沒有指定正確引發的 java
項目名稱上【右擊】--->【Properties】--->【Java Build Path】--->【Source】--->【看看報maven
NoClassDeFoundError的類是哪個源目錄,並選中】--->【看下面的Default output folder單元測試
】--->【發現不是target/classes】--->【Edit】學習
補充:測試
所謂的"約定優於配置",在maven中並非徹底不能夠修改的,他們只是一些配置的默認值而已。可是使用者除非必要,並不須要去修改那些約定內容。maven默認的文件存放結構以下:ui
/項目目錄 spa
/target/classes 編譯以後的class文件orm
/src/main 工程源代碼目錄 xml
/src/main/resource 工程的資源目錄資源
/src/test 單元測試目錄
/src/main/java 工程java源代碼目錄
/src/test/java
pom.xml 用於maven的配置文件
/src 源代碼目錄
/target 輸出目錄,全部的輸出物都存放在這個目錄下
每個階段的任務都知道怎麼正確完成本身的工做,好比compile任務就知道從src/main/java下編譯全部的java文件,並把它的輸出class文件存放到target/classes中。
對maven來講,採用"約定優於配置"的策略能夠減小修改配置的工做量,也能夠下降學習成本,更重要的是,給項目引入了統一的規範。