解决MyEclipse10里project facet Dynamic web module to不能选择 2.5或3.0的问题

转载 2016年08月30日 14:33:35

我们用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,(如果没有project facets这个选项,说明你的myeclipse版本过低,8.5是没有的,myeclipse9不清楚,后面换成了myeclipse10就有了)如图:


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

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

[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  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.   
  5. <web-app>  
  6.   <display-name>Archetype Created Web Application</display-name>  
  7. </web-app>  


改后:

[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  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.       
  8.   <display-name>Archetype Created Web Application</display-name>  
  9. </web-app>  


2.修改项目的设置,在Navigator下点击Open Resource打开框,粘贴org.eclipse.jdt.core.prefs点击本项目的.settings目录下的org.eclipse.jdt.core.prefs

[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  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

[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  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

[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  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"

[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  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

[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  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"/>

[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  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



解决异常:Project facet Dynamic Web Module version 3.0 is not supported.

这个dynamic web module version是与servlet版本有关的,若使用tomcat7.0,一般是3.0;若tomcat6...
  • young_kim1
  • young_kim1
  • 2015年10月22日 11:35
  • 3831

Project facet Dynamic Web Module version 3.0 is not supported

背景:web项目无法部署到JBoss服务器上,出现“Project facet Dynamic Web Module version 3.0 is not supported”错误。        ...
  • liusong0605
  • liusong0605
  • 2013年04月24日 21:51
  • 8405

maven Cannot change version of project facet Dynamic Web Module to 2.5

有这么一个奇怪的错误,而且这个错误特别容易出现在maven 的web工程上面 就是maven web工程上面有红叉号,源文件目录上面也有红叉号,可是下面没有具体的错误。 但是eclipse的Mar...
  • revent
  • revent
  • 2015年11月26日 09:04
  • 673

dynamic web module 2.5与2.4

http://hi.baidu.com/yuanygb/blog/item/b7f89b54c1638045d0090642.html Project facet Dynamic Web Modul...
  • caolaosanahnu
  • caolaosanahnu
  • 2012年03月17日 16:45
  • 2726

Java项目转web项目: Project facet Dynamic Web Module version 3.0 is not supported.

java项目中,若切换服务器,经常会涉及到动态web模块版本的问题。      比如:新建了web项目,开始使用tomcat服务器,但是后来使用jboss服务器,就会出现:Project face...
  • houfeng30920
  • houfeng30920
  • 2016年07月12日 03:07
  • 583

Cannot change version of project facet Dynamic Web Module to 2.5

在eclipse的工程上选择属性,再选择Project Facets里面中选择Dynamic Web Module ,将2.3修改为2.5,提示如下信息: Cannot change version...
  • fuxiaohui
  • fuxiaohui
  • 2013年12月23日 03:51
  • 19345

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

用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一般现...
  • chendaoqiu
  • chendaoqiu
  • 2015年06月16日 15:35
  • 4991

解决Eclipse建Maven项目Dynamic web Module无法转换为2.5

Maven项目在Project Facets里面修改Dynamic web module为2.5的时候就会出现Cannot change version of project facet Dynami...
  • dy_0708
  • dy_0708
  • 2017年02月10日 11:10
  • 2304

Cannot change version of project facet Dynamic web module to 3.0 解决方案

1)修改web.xml          xmlns="http://xmlns.jcp.org/xml/ns/javaee"          xmlns:xsi="http://www.w...
  • dream_it_life
  • dream_it_life
  • 2016年03月06日 20:29
  • 1868

解决maven项目上有红叉,Cannot change version of project facet Dynamic web module to 2.5

摘要 maven,红叉, Cannot change version of project facet Dynamic web 我们用Eclipse创建Maven结构的web项目的时候选择了A...
  • u014639186
  • u014639186
  • 2015年12月21日 17:22
  • 1865
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决MyEclipse10里project facet Dynamic web module to不能选择 2.5或3.0的问题
举报原因:
原因补充:

(最多只允许输入30个字)