解決maven 項目中的 java.lang.NoClassDefFoundError

 

這是因爲java編譯後的class文件沒有指定正確引發的 java

 

項目名稱上【右擊】--->Properties--->Java Build Path--->Source--->【看看報maven

NoClassDeFoundError的類是哪個源目錄,並選中】--->【看下面的Default output folder單元測試

--->【發現不是target/classes--->Edit學習



補充:測試

maven的"約定優於配置"

所謂的"約定優於配置",在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來講,採用"約定優於配置"的策略能夠減小修改配置的工做量,也能夠下降學習成本,更重要的是,給項目引入了統一的規範。

相關文章
相關標籤/搜索