IDEA Maven Web項目 ClassNotFound解決方法

異常錯誤

最近在學習SSM框架,遇到的跟找不到Class有關的異常錯誤有:web

我使用的是Maven dependency:spring

<!-- https://mvnrepository.com/artifact/tk.mybatis/mapper -->  
<dependency\>  
 <groupId\>tk.mybatis</groupId\>  
 <artifactId\>mapper</artifactId\>  
 <version\>4.1.5</version\>  
</dependency\>

而後重啓TOMCAT服務器遇到這個錯誤:segmentfault

org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find

特意查找了out/artifacts/項目名/WEB-INF/lib有沒有tk.mybatis對應的jar包(名爲mapper-4.1.5.jar),結果發現lib沒有這個jar包。服務器

我沒法解決,因而使用IDEA Maven的Reimport All Maven Projectsmybatis

image-20191220164440306.png

再次啓動TOMCAT,而後又報錯,報錯以下:app

ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

因而,我又去查看out目錄:lib沒有一個jar包。框架

image-20191220164802307.png

這個問題(在JavaWeb中out文件夾出現某個文件缺失)常常出現。學習

這個問題還可讓Js文件加載失敗,報404錯誤,具體狀況能夠看以下連接:spa

加載js失敗的解決方法設計

遇到缺失lib包後,記得按以下步驟從新添加lib目錄到artifacts

Ctrl+Alt+Shift+S進入Project Structure ---> 定位到出問題的Web Application: Exploded

image-20191220170220368.png

image-20191220170314535.png

image-20191220170503665.png

image-20191220170755365.png

這樣out下lib的jar完整了。

什麼是artifact你能夠參考:Artifact (software development) - Wikipedia)

簡單來講,artifact能夠指開發過程當中的class diagrams,用例,UML模型,設計文檔,開發需求等。它也能夠指的是開發進程中的項目計劃、商業案例、風險評估。總之,它是開發軟件過程當中的有形可見的副產品。

對於端用戶而言,artifact能夠指的是Application或者複雜的數據對象(端用戶建立,端用戶也無須知道開發語言)。

就我我的理解,咱們在IDEA配置Artifacts後,就至關於部署了一個"表現環境",經過這個,咱們的Web能在TOMACT跑起來。

相關文章
相關標籤/搜索