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. C#正则表达式之字符替换

    string strTest= "www.BaiDu.com",strRst=""; //忽略大小写,将strTest中的BaiDu替换为baidu Regex ...

  2. Linux的直接I/O机制

    转自Linux的直接I/O机制 对于传统的操作系统来说,普通的 I/O 操作一般会被内核缓存,这种 I/O 被称作缓存 I/O.本文所介绍的文件访问机制不经过操作系统内核的缓存,数据直接在磁盘和应用程 ...

  3. 自定义 Lint 规则简介

    上个月,笔者在巴黎 Droidcon 的 BarCamp 研讨会上聆听了 Matthew Compton 关于编写自己的 Lint 规则的讲话.深受启发之后,笔者想就此话题做进一步的探索. 定义 如果 ...

  4. Ajax.BeginForm返回方法OnSuccess

    在MVC3里面——程序集 System.Web.Mvc.dll, v4.0.30319有这么一个Ajax.BeginForm异步登录验证的类型,我们在下面给出一个例子:在登录页面Logion.csht ...

  5. 手势识别官方教程(4)在挑划或拖动手势后view的滚动用ScrollView和 HorizontalScrollView,自定义用Scroller或OverScroller

    简单滚动用ScrollView和 HorizontalScrollView就够.自定义view时可能要自定义滚动效果,可以使用 Scroller或 OverScroller Animating a S ...

  6. @Resource和@Autowired

    @Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了.@Resource有两个属性是比较重要的,分 ...

  7. bzoj1930

    一开始我觉得这不是一个弱弱的费用流吗? 每个豆豆拆点,入点出点随便连连 由于肯定是DAG图,边权为正的最大费用肯定能增广出来 于是我们只要跑总流量为2的最大费用最大流不就行了吗 但是 这样会TLE,因 ...

  8. WordPress Think Responsive Themes ‘upload_settings_image.php’任意文件上传漏洞

    漏洞名称: WordPress Think Responsive Themes ‘upload_settings_image.php’任意文件上传漏洞 CNNVD编号: CNNVD-201311-06 ...

  9. Linux Kernel 本地内存损坏漏洞

    漏洞名称: Linux Kernel 本地内存损坏漏洞 CNNVD编号: CNNVD-201310-663 发布时间: 2013-11-05 更新时间: 2013-11-05 危害等级:    漏洞类 ...

  10. NOI2014 魔法森林

    3669: [Noi2014]魔法森林 Time Limit: 30 Sec  Memory Limit: 512 MBSubmit: 106  Solved: 62[Submit][Status] ...