解决Cannot change version of project facet Dynamic web module to 2.5

一直听说maven很厉害,但是一直没用过,今天无事,拿来耍耍。不废话,直接进入正文。

一、安装及配置:此处省去100字,网上教程一大堆,本文主要针对maven创建web3.0的web工程

二、网上有很多教程,但是创建都有这样或那样的问题,我觉得应该是没有指明开发工具的版本,我使用的是jdk1.7tomcat7.0maven3.0.还有eclipse luna

首先需要安装eclipse的maven插件,这也不多说,请自行谷百。

直接新建maven project

解决Cannot change version of project facet Dynamic web module to 2.5

解决Cannot change version of project facet Dynamic web module to 2.5

解决Cannot change version of project facet Dynamic web module to 2.5

解决Cannot change version of project facet Dynamic web module to 2.5

直接finish,建完项目结构图如下图所示

解决Cannot change version of project facet Dynamic web module to 2.5

会发现有报错,这是因为项目未引入servlet-api.jar,下面来引入

引入之前,请remove maven构建时默认使用的jre1.5,

解决Cannot change version of project facet Dynamic web module to 2.5

下面来添加jre和server-runtime

解决Cannot change version of project facet Dynamic web module to 2.5

解决Cannot change version of project facet Dynamic web module to 2.5

解决Cannot change version of project facet Dynamic web module to 2.5

解决Cannot change version of project facet Dynamic web module to 2.5

解决Cannot change version of project facet Dynamic web module to 2.5

finish后看到项目已经没有报错,现在的项目是可以使用的,但是servlet是2.5的,这样servlet的配置是基于web.xml的,比较麻烦(虽然是eclipse帮我们做的,但个人还是觉得不爽),故下面来修改项目,使其支持servlet3.0.

首先修改workspace中的项目根目录下的.setting文件夹下的org.eclipse.wst.common.project.facet.core.xml文件,如图

解决Cannot change version of project facet Dynamic web module to 2.5

当然上面的1.7也可以是1.6,这个取决于你机器上安装的jdk的版本。

解决Cannot change version of project facet Dynamic web module to 2.5

刷新后,会发现项目报错,右键工程,打开properties。会发现Dynamic web Module版本已经变成3.0,Java已经变成1.7的了。

但是控制台还是报错,如图

解决Cannot change version of project facet Dynamic web module to 2.5

接下来需要添加3.0支持

打开pom.xml文件,在build节点下添加:

[html] view plain copy
 print?
  1. <span style="white-space:pre">        </span><plugins>  
  2.             <plugin>  
  3.                 <artifactId>maven-compiler-plugin</artifactId>  
  4.                 <version>3.0</version>  
  5.                 <configuration>  
  6.                     <source>1.7</source>  
  7.                     <target>1.7</target>  
  8.                 </configuration>  
  9.             </plugin>  
  10.         </plugins>  

然后重新maven --> update project,会发现任然报错

接下来只需要删除webx.xml文件即可,因为web.xml文件任然是2.3时的web.xml。

解决Cannot change version of project facet Dynamic web module to 2.5

再次update或者刷新,ok咯。然后接可以使用项目了。创建web3.0基本就这样。