Eclipse建立Maven-Web項目及解決 jre版本和web.xml版本問題

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)服務器

1.新建一個Maven Project

選擇Maven Projectapp

這裏寫圖片描述

選擇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/javasrc/test/java目錄

這裏寫圖片描述

此刻 maven 項目的 web.xml 版本爲2.3,jre 版本爲1.5,須要升級。

2.修改項目 jre版本和 web.xml 版本

網上的版本多而雜,本身實踐纔是關鍵

2.1修改 jre 版本

修改 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

這裏寫圖片描述

2.2修改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 directorsrc/main/webapp,勾選Generate web.xml deployment descriptorOK,保存退出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

項目結構爲:

這裏寫圖片描述

相關文章
相關標籤/搜索