http://blog.csdn.net/steveguoshao/article/details/38414145

我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一般现在至少都是2.5,在Project Facets里面修改Dynamic web module为2.5的时候就会出现Cannot change version of project facet Dynamic web module to 2.5,如图:

其实在右边可以看到改到2.5需要的条件以及有冲突的facets,解决这个问题的步骤如下:

1.把Servlet改成2.5,打开项目的web.xml,改之前:

  1. <!DOCTYPE web-app PUBLIC
  2. "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  3. "http://java.sun.com/dtd/web-app_2_3.dtd" >
  4. <web-app>
  5. <display-name>Archetype Created Web Application</display-name>
  6. </web-app>

改后:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="2.5"
  3. xmlns="http://java.sun.com/xml/ns/javaee"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  6. http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  7. <display-name>Archetype Created Web Application</display-name>
  8. </web-app>

2.修改项目的设置,在Navigator下打开项目.settings目录下的org.eclipse.jdt.core.prefs

  1. eclipse.preferences.version=1
  2. org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
  3. org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
  4. org.eclipse.jdt.core.compiler.compliance=1.5
  5. org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
  6. org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
  7. org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
  8. org.eclipse.jdt.core.compiler.source=1.5

把1.5改成1.6

  1. eclipse.preferences.version=1
  2. org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
  3. org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
  4. org.eclipse.jdt.core.compiler.compliance=1.6
  5. org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
  6. org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
  7. org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
  8. org.eclipse.jdt.core.compiler.source=1.6

打开org.eclipse.wst.common.component

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project-modules id="moduleCoreId" project-version="1.5.0">
  3. <wb-module deploy-name="test">
  4. <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
  5. <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
  6. <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
  7. <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
  8. <property name="context-root" value="test"/>
  9. <property name="java-output-path" value="/test/target/classes"/>
  10. </wb-module>
  11. </project-modules>

把project-version="1.5.0"改成project-version="1.6.0"

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project-modules id="moduleCoreId" project-version="1.6.0">
  3. <wb-module deploy-name="test">
  4. <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
  5. <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
  6. <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
  7. <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
  8. <property name="context-root" value="test"/>
  9. <property name="java-output-path" value="/test/target/classes"/>
  10. </wb-module>
  11. </project-modules>

打开org.eclipse.wst.common.project.facet.core.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <faceted-project>
  3. <fixed facet="wst.jsdt.web"/>
  4. <installed facet="java" version="1.5"/>
  5. <installed facet="jst.web" version="2.3"/>
  6. <installed facet="wst.jsdt.web" version="1.0"/>
  7. </faceted-project>

把<installed facet="java" version="1.5"/>改成<installed facet="java" version="1.6"/>,把  <installed facet="jst.web" version="2.3"/>改成  <installed facet="jst.web" version="2.5"/>

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <faceted-project>
  3. <fixed facet="wst.jsdt.web"/>
  4. <installed facet="java" version="1.6"/>
  5. <installed facet="jst.web" version="2.5"/>
  6. <installed facet="wst.jsdt.web" version="1.0"/>
  7. </faceted-project>

都改好之后在打开看看,已经把Dynamic web module改成了2.5

好了,大功搞成,这是一种解决办法,但是治标不治本,更高级的就是自定义catalog,然后安装到本地,再创建的时候啥都有了,比如把现在流行的s(struts2)sh,ssi,s(springmvc)sh 创建catalog,包括包结构,部分代码啥的都有,下次写吧。

【转】解决Cannot change version of project facet Dynamic web module to 2.5的更多相关文章

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

    我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一 ...

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

    我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一 ...

  3. 解决Cannot change version of project facet Dynamic web module to 3.0

    我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一 ...

  4. [转]解决Cannot change version of project facet Dynamic web module to 2.5

    我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一 ...

  5. maven(二)创建一个maven的web项目中解决Cannot change version of project facet Dynamic web module to 2.5

    我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一 ...

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

    我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一 ...

  7. 解决Cannot change version of project facet Dynamic web module to 2.5(转)

    我们用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一 ...

  8. 解决Cannot change version of project facet Dynamic Web Module to 3.1

    Open web.xml from project structure http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version= ...

  9. maven工程导入时解决Cannot change version of project facet Dynamic Web Module to 2.3

    解决方法:修改web.xml,在头部加入内容,加入后为: <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&q ...

随机推荐

  1. codeforces 391C3 - The Tournament

    在第8组数据上WA了一天,后来才发现问题: #include<iostream> #include<cstdio> #include<cstring> #inclu ...

  2. Fiddler对安卓应用手机抓包图文教程

    http://www.cr173.com/html/37625_1.html 做开发需要抓取手机app的http/https的数据包,想看APP发出的http请求和响应是什么,这就需要抓包了,这可以得 ...

  3. 玩转AWS CloudWatch微信告警

    做海外业务时大多使用亚马逊 AWS 服务,配套AWS 监控 CloudWatch 功能强大,如果能和微信结合就更棒了.现在分享下如何玩转 CloudWatch 微信通知. AWS EC2 云主机配套的 ...

  4. MySQL查询表结构的SQL小结

    mysql查看表结构命令,如下: desc 表名; show columns from 表名; describe 表名; show create table 表名; 示例: use testDB; # ...

  5. Memcached总结二:Memcached环境安装设置以及连接memcache服务器

    1 在Ubuntu上安装Memcached 要在Ubuntu上安装Memcached,打开终端,然后输入以下命令: $sudo apt-get update $sudo apt-get install ...

  6. asp.net中GridView的CheckedUnBindCheckBox属性

    1. 获取GridView中CheckBox所选行的字段,即使是在绑定了数据源的时候,也可以获取选中的CheckedUnBindCheckBox对应的各个列的字段 使用时根据实际情况适当的修改即可. ...

  7. Java按位置解析文本文件(使用Swing选择文件)

    工作中遇到这样的一个需求,按位置解析一些文本文件,它们由头部.详情.尾部组成,并且每一行的长度可能不一样,每一行代表的意思也可能不一样,但是每一行各个位置代表的含义已经确定了. 例如有下面这样一段文本 ...

  8. vnc执行,报xauth could not run

    /usr/bin/gnome-terminal [INFO-10%]生成随机密码 [INFO-20%]生成密码文件 [INFO-30%]完成初始化,准备打开连接 Error: could not ru ...

  9. JQuery对XML文件的操作

    xml文件如下: <?xml version="1.0" encoding="utf-8" ?> <Root> <Parent&g ...

  10. windows权限错误

    1.installer "内部错误 2203 C:\WINDOWS\Installer\354787.ipi,-2147287035” 用户的local\Temp目录没有system权限 2 ...