進行以下步驟的前提是你已經安裝好本地maven庫和eclipse中的maven插件了(有的eclipse中已經內建了maven插件)
一、Maven項目的建立
1、滑鼠右鍵---->New----->Other...

2、直接點選下一步
3、選中 maven-archetype-webapp 後點選下一步
4、 Group Id 中輸入項目的基本包名。
Artifact Id 中輸入項目名。
Version 中的值預設就行,不進行選擇。
Package 中寫的是預設生成的一個包名,不寫也可以。
接着點選完成就可以了。
5、建立好項目後結構如下:
------web.xml 的版本是2.3的,是老版本
------新生成的工程預設的 jdk 和 compiler 都是1.5 的
------而且沒有src/main/java 這樣結構的 maven 目錄
二、Maven項目的配置
1、修改web.xml
由于Maven中的 maven-archetype-webapp 樣闆項目的 web.xml 是2.3版本的,我們需要替換成新版本:
可以在Eclipse中建立一個web工程,将它 WebContent/WEB-INF 目錄下的 web.xml 檔案複制替換掉我們的 Maven 項目中 src/main/webapp/WEB-INF/ 目錄下的web.xml 檔案。
原來的web.xml内容
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
</web-app>
替換後的web.xml内容
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>mydemo</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
2、pom.xml 裡面build 标簽下添加 maven編譯插件
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
3、添加缺少的目錄并指定輸出路徑
Maven規定,必須建立以下幾個包,并且分别對應相應的輸出路徑
src/main/resources
src/main/java
src/test/resources
src/test/java
右鍵項目----->BUild Path----->Configure Build Path...
(1)在Order and Export (這裡是控制項目中包的顯示順序的)這個欄裡會發現有幾個目錄顯示missing(丢失),随便選中一個改變下順序(Up 或者 Down 或者 Top 或者 Bottom),然後點選應用,OK,丢失的目錄會在項目中顯示出來,再次進到這個地方,紅叉辨別已經消失了。(這一步比較奇怪,可能是eclipse中maven插件的bug吧)
(2)接着在Source裡會發現已經有三個目錄了,是以點選Add Folder... 添加缺少的目錄(這裡注意把Allow output folders for source folders 上,友善下一步進行輸出路徑的設定)
點選Create New Folder... ,輸入缺少的包名,直接點選完成,回到這個界面點選OK就行
(3)接着就會看到Source這裡多了一個剛才添加的包,這個新加的包沒有指定輸出目錄,需要進行修改
在Source 裡面設定4個檔案夾的輸出Output folder,輕按兩下進行修改
分别修改輸出路徑為
/src/main/resources 對應 target/classes
/src/main/java 對應 target/classes
/src/test/resources 對應 target/test-classes
/src/test/java 對應 target/test-classes
我這隻需要修改第四個目錄就可以了(前三個都預設設定好了,如果你的沒設定好就設定一下)
最終的效果如下圖所示:
此時的目錄結構為:
可以看出已經是maven項目的結構了(這裡有報錯,報的是Cannot change version of project facet Dynamic Web Module to 3.1,先不管,最後再處理)
4、配置項目部署程式集(Web Deployment Assembly)
右鍵項目----->Properties----->Deployment Assembly
(1)删除test的兩項,因為test是測試使用,并不需要部署。
(2)添加Maven依賴,設定将Maven的jar包釋出到lib下,如果已經有了就不需要添加了。
Add -----> Java Build Path Entries -----> Maven Dependencies -----> Finish
最終是這樣的
三、将Maven項目轉換成Dynamic Web Project
(1)右鍵項目----->Properties
在左側選擇 Project Facets,單擊右側的 Convert faceted from
剛進來時是這樣的,需要把Dynamic Web Module (動态web子產品)的版本修改為 3.1 (最新版),Java的版本修改為項目用的1.8
這裡可能會報一個錯誤,在修改動态web子產品版本的時候會提示Cannot change version of project facet Dynamic Web Module to 3.1
不要緊,隻需要去掉動态web子產品前面的對勾,點選OK,接着再進入這個界面就能夠修改動态web子產品的版本了。
修改完成是這樣的,接下來單擊 Further Configuration available... (進一步可用的配置)連結
下面如果沒有顯示出 Further Configuration available... 的話,可以在Dynamic Web Module 前去掉打鈎,點選應用,然後再填上鈎,再點選應用,一般 Further Configuration available... 就會出現了。
修改 Content directory(内容目錄) 的值 WebContent 為 src/main/webapp ,單擊OK,然後回到上一步視窗直接點選OK
這裡可能出現的問題是,會給你個提示目錄錯誤的彈窗,不要緊,你可以檢查下之前檔案輸出路徑的設定是否有問題(Java Build Path -----> Source),修改過來應該就沒問題了
完成這一步之後你可以檢查下你的Java Build Path 中的Libraries 中的jdk版本,還有Java Compiler (編譯環境),發現都已經改為1.8版本了。
(2)接下來你項目中的pom.xml 可能報一個錯 web.xml is missing and <failOnMissingWebXml> is set to true ,如果沒報錯,可以忽略不看
解決辦法:
使用maven建立項目有時在pom.xml的war處出現failOnMissingWebXml的錯誤,根據pom.xml 可以知道這個項目是web項目,打包時打成war包。
錯誤提示的是丢失web.xml,是以如果項目裡沒有web.xml,則在項目裡添加一個web.xml,重新整理一下項目,就應該沒有錯誤了。
如果還有錯的話就需要在eclispe上方點選Project ----->Clean 清理一下這個項目了。
經過這兩步錯誤就應該已經清除了。
(3)到這一步,web項目就建立完畢了,可以看一下你的項目結構,如果有什麼build目錄,WebContent 目錄的話可以直接删除(確定你的輸出目錄之類的已經設定好了)
直接把頁面資源放置在src/main/webapp/ 目錄下,是以最終的項目結構如下所示:
基本上清除未知錯誤的方法是:
1、右鍵項目----->Run As----->Maven clean
2、Project----->Clean...
3、右鍵項目----->Maven----->Update Project...
如果沒效果,可以試着把pom.xml稍微修改下,比如加個空格之類的,再進行一次,應該就不報錯了。(*^◎^*)
(本文轉載自堅果核 https://www.cnblogs.com/wbyp/p/7392681.html)