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
。
项目结构为: