用Eclipse Maven 创建 Web 3.0 项目问题 正确的处理步骤

时间:2024-01-13 10:34:02

在Eclipse 安装好Maven插件后,创建Maven webapp项目,在工程 properties -> project facets 界面中将 Dynamic Web Module 修改为 3.0 时,Eclipse 总是提示  Cannot change version  to Dynamic WebModule 3.0.

代码没有红叉叉, 但是整个工程目录上有红叉叉, 很不爽,很不爽、很不爽。

网上大多数的解决方法都是 找到 .setting文件夹内的org.eclipse.wst.common.project.facet.core.xml文件,修改为

<installed facet="jst.web" version="2.5"/>   改为 

<installed facet="java" version="1.7"/>
<installed facet="jst.web" version="3.0"/>

但是还是会有 Maven Jave EE Configuration Problems 的红叉叉.

此问题分两步解决

1、 Eclipse  Project Facets  设置问题

单独将 Dynamic Web Module 设置为 3.0 , 或修改 Java 版本似乎不起作用。设置Project Facets的争取顺序是

正确的设置方法是:  a), 取消选择 Dynamic Web Module ,并应用

          b), 取消选择 Java  , 并应用。

          C), 重新选择 Java, 并应用。 此时需要设置源目录, 设置为src\main\java

d),重新选择Dynamic Web, 并应用。 此时需要设置WebContent目录 为 src\main\webapp

2、Maven 设置问题

a) Eclipse Maven 自动生成的web.xml 文件(webapp/WEB-INF/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" >

修改为 3.0

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 3.0//EN"
"http://java.sun.com/dtd/web-app_3_0.dtd" >

b) 设置 Maven Complier 插件为jdk 1.7 版本

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>

经过以上两个步骤设置,项目的所有红叉叉都消除了。