Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题

Eclipse 通过 Maven 建立 SSM 框架项目(web项目)时,默认的web.xml文件版本为 2.3,jre版本为 1.5;在修改其版本遇到了各种问题
例如:

web.xml is missing and 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 以上等等;了解规则,就可以很好的解决问题。
下面是总结的一个方法,有创建的整个流程。

另外:一种可行的方法是通过修改项目目录下.settings/org.eclipse.wst.common.project.facet.core.xml文件中 web 和 Java 版本的方法。下面的方法不需要修改这个文件,更加简便。

Eclipse版本:Neon.1a Release (4.6.1)

1.新建一个Maven Project

选择Maven Project

Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题_第1张图片
20161212162228196.png

选择maven-archetype-webapp

Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题_第2张图片
4415503c16479684e3052645b36b37e.png

Group Id是项目组织唯一的标识符,实际对应 Java 的包的结构,是 main 目录里 java 的目录结构。
Artifact Id就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。

Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题_第3张图片
20161212162455974.png

新建的Maven项目结构为:


Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题_第4张图片
20161212163021480.png

注意红框的结构,只有一个 src/main/resources,而且项目报下面的 HttpServlet 错误


20161212163101637.png

项目右击 Properties 选择Java Build Path 选择 Add Library添加 Server Runtime 选择 Apache Tomcat7 服务器(Tomcat8 需要 web版本3.1)

Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题_第5张图片
20161212163621969.png

HttpServlet 错误解决,项目结构也有变化,自动补全src/main/javasrc/test/java目录

Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题_第6张图片
20161212163951071.png

此刻 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

...
      
    TestMaven3
    
            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    1.8
                    1.8
                
            
        
  

项目右击选择Maven Update Project项目的Java Build Path为:

Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题_第7张图片
20161212165427507.png

之后你可以 Edit 把 jre 指定到Workspace default JRE

Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题_第8张图片
20161212165902833.png

2.2修改web.xml文件版本

这是默认生成的web.xml,可以看到是2.3版本的。

web.xml




  Archetype Created Web Application

项目右击Properties 选择Project Facets(项目模板),如下图,可以看到Dynamic Web Module版本为 2.3

Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题_第9张图片
20161212170416310.png

直接更改为3.0?,但是并不能更改


Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题_第10张图片
20161212170751111.png

这里可以先把Dynamic Web Module勾选去掉,之后Apply。

20161212171634533.png

再接着勾选Dynamic Web Module,注意下方出现Further configuration available...选项;接着更改为想要的版本 3.0,点击Further configuration available...

Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题_第11张图片
20161212172028628.png

之后,修改 Content directorsrc/main/webapp,勾选Generate web.xml deployment descriptorOK,保存退出Project Facets

Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题_第12张图片
20161212204620164.png

之后修改src/main/webapp/WEB-INF/web.xml文件,头信息版本修改为 3.0 版本的。

web.xml




之后,项目右击选择Maven Update Project

项目结构为:


Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题_第13张图片
20161212205232885.png

你可能感兴趣的:(Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题)