eclipse 創建Maven 架構的dynamic web project 問題解決匯總


Eclipse創建Maven結構的web項目的時候選擇Artifact Id為maven-artchetype-webapp,點擊finish之后,一般會遇到如下問題

1. The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 錯誤,

   這是eclipse環境里沒有SeverRuntime導致的,在BuildPath里加入即可,如下圖:

   添加前:

   

   選擇 add library

     

   選擇 Apache Tomcat V7.0 並點擊 next

  

   點擊finish之后,完成添加如下圖

 

 

2. 如何Maven創建動態Web項目后產生的版本不匹配的問題

   我們用Eclipse創建Maven結構的web項目的時候選擇了Artifact Id為maven-artchetype-webapp,由於這個catalog比較老,用的servlet還是2.3的、java版本是1.5的,而一般現在至少都是3.0/1.7,因此我們需要逐個修改!

    (1) 修改JRE 版本

    Go to project Build Path and change the Java Library version to 1.7

刪除原先的低版本JRE,並添加workplace默認的版本(JDK1.7),完成后如下:

(2) Eclipse Preferences -> Java -> Compilre -> Change compliance level to 1.7

(3) 修改 Project Facets 版本(注意順序)

    在項目上單機右鍵 -> Properties -> Project Facets  -->取消選中 Dynamic Web Module 狀態,點擊 Apply -->將 Java facet 版本變為 1.7 ,點擊 Apply如下圖

 -->將 Dyanmic Web Module 版本更改為3.0, 點擊 Apply.

此時會有較大幾率提示: web.xml is missing and <failOnMissingWebXml> is set to true,如下圖

解決辦法,在項目上單擊右鍵-->java EE Tools ---> Generate Deployment Descriptro Stub

OK 問題解決

3. 解決發布之后404錯誤

默認情況下因為默認的deployment assembly中 webapp路徑的問題,如下圖可以看到默認的webapp下的頁面都被發布到WEB-INF/class下了,

導致出現了如下圖的目錄結構,所以所有的jsp都無法訪問以及通過web.xml加載的ssm環境無法初始化!

 

修改webapp對應的發布路徑為/之后,部署的目錄結構變為:

 

可以看到jsp還有web.xml、spring的配置文件都出現在根目錄了! 問題解決!

 

 

 

 

 

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM