Eclipse 經過 Maven 創建 SSM 框架項目(web項目)時,默認的web.xml
文件版本爲 2.3,jre版本爲 1.5;在修改其版本遇到了各類問題
例如:java
web.xml is missing and <failOnMissingWebXml> is set to true JavaServer Faces 2.2 can not be installed : One or more constraints have not been satisfied. JavaServer Faces 2.2 requires Dynamic Web Module 2.5 or newer 等問題
查找方法時,配置順序的錯誤,也是引起問題的緣由。修改 jre和web.xml 版本,要處理好各版本之間的關係,好比 web3.0 的須要 Java 1.6 以上,JavaServer Faces 須要 web 版本 2.5 以上等等;瞭解規則,就能夠很好的解決問題。
下面是總結的一個方法,有建立的整個流程。web
另外:一種可行的方法是經過修改項目目錄下
.settings/org.eclipse.wst.common.project.facet.core.xml
文件中 web 和 java 版本的方法。下面的方法不須要修改這個文件,更加簡便。apache
Eclipse版本:Neon.1a Release (4.6.1)
服務器
選擇Maven Project
app
選擇maven-archetype-webapp
框架
Group Id
是項目組織惟一的標識符,實際對應 Java 的包的結構,是 main 目錄裏 java 的目錄結構。
Artifact Id
就是項目的惟一的標識符,實際對應項目的名稱,就是項目根目錄的名稱。eclipse
新建的Maven項目結構爲:webapp
注意紅框的結構,只有一個 src/main/resources,並且項目報下面的 HttpServlet 錯誤maven
項目右擊 Properties
選擇Java Build Path
選擇 Add Library
添加 Server Runtime
選擇 Apache Tomcat7
服務器(Tomcat8 須要 web版本3.1)ui
HttpServlet 錯誤解決,項目結構也有變化,自動補全src/main/java
和src/test/java
目錄
此刻 maven 項目的 web.xml 版本爲2.3,jre 版本爲1.5,須要升級。
網上的版本多而雜,本身實踐纔是關鍵
修改 jre 版本,不能再Java Bulid Path
中修改,一旦項目 update project
又會回到 1.5 的版本,能夠在pom.xml 文件中聲明
pom.xml
...
<build> <finalName>TestMaven3</finalName> <plugins> <!-- 修改maven默認的JRE編譯版本,1.8表明JRE編譯的版本,根據本身的安裝版本選擇1.7或1.8 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>
項目右擊選擇Maven Update Project
項目的Java Build Path
爲:
以後你能夠 Edit 把 jre 指定到Workspace default JRE
web.xml
文件版本這是默認生成的web.xml
,能夠看到是2.3版本的。
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>
項目右擊Properties
選擇Project Facets
(項目模板),以下圖,能夠看到Dynamic Web Module
版本爲 2.3
直接更改成3.0?,可是並不能更改
這裏能夠先把Dynamic Web Module
勾選去掉,以後Apply。
再接着勾選Dynamic Web Module
,注意下方出現Further configuration available...
選項;接着更改成想要的版本 3.0,點擊Further configuration available...
以後,修改 Content director
爲src/main/webapp
,勾選Generate web.xml deployment descriptor
OK,保存退出Project Facets
以後修改src/main/webapp/WEB-INF/web.xml
文件,頭信息版本修改成 3.0 版本的。
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> </web-app>
以後,項目右擊選擇Maven Update Project
。
項目結構爲: