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的,而一般现在至少都是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,改之前:

[html] view plain copy print?

  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?

  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下打开项目.settings目录下的org.eclipse.jdt.core.prefs

 

 

 

[html] view plain copy print?

  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?

  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?

  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>  

  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?

  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?

  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,包括包结构,部分代码啥的都有,下次写吧。

 

时间: 2024-08-07 02:49:14

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

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

原文地址: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 pr

Cannot change version of project facet Dynamic web

问题描述         用Eclipse创建Maven结构的web项目的时候选择了Artifact Id为maven-artchetype-webapp,由于这个catalog比较老,用的servlet还是2.3的,而一般现在都是用3.0,在Project Facets里面修改Dynamic web module为3.0的时候就会出现Cannot change version of project facet Dynamic web module to 3.0,如图: 其实在右边可以看到改到3

Error:JDK1.8 Cannot change version of project facet Dynamic Web Module to 3.1.

问题: Error:JDK1.8 Cannot change version of project facet Dynamic Web Module to 3.1. 此工程为名为mybatis:maven webapp project:'mybatis':解决检查以下文件中配置的,参数: 解决设置1:设置\src\main\webapp\WEB-INF\web.xml <?xml version="1.0" encoding="UTF-8"?> <

javaee-Maven项目:project facet Dynamic Web Module to 2.5

问题描述 Maven项目:project facet Dynamic Web Module to 2.5 ![图 ![ 按照网上提供的解决方法,问题并没有解决,还有别的方法么? 解决方案 http://blog.csdn.net/steveguoshao/article/details/38414145

maven(一)创建一个maven的web项目

一.创建项目 1.Eclipse中用Maven创建项目 上图中Next   2.继续Next   3.选maven-archetype-webapp后,next   4.填写相应的信息,Packaged是默认创建一个包,不写也可以   5.创建好项目后,目录如下: 至此,项目已经创建完毕,下边可是配置. 二.项目配置 1.添加Source Folder Maven规定,必须创建以下几个Source Folder src/main/resources src/main/java src/test/

web app-关于web项目中webapp和web-inf文件下文件的看法

问题描述 关于web项目中webapp和web-inf文件下文件的看法 webapp下的文件夹存放的都是css,js,img之类的东西,而web-inf下存放的都是jsp,可以这样理解吗 解决方案 webapp包含web-inf css,js,img可以放在webapp,也可以放在web-inf,差别就在于web-inf下的东西是有权限的访问,推荐都放 在web-inf 解决方案二: 这有一个权限的问题,即web-inf的访问时有权限的,但一般放在web-inf下比较好 解决方案三: WEB-I

ckfinder-java web项目中CKFinder插件无法正常打开文件列表

问题描述 java web项目中CKFinder插件无法正常打开文件列表 java web 项目中配置了CKFinder.本地win7+eclipse+tomcat测试没问题,但当部署到测试服务器后(ubuntu+tomcat)后,打开文件列表时会报"从服务器读取XML数据出错". 调试发现没有找到"ckfinder/core/connector/java/connector.java"文件?请问这是为什么?谢谢大家! 解决方案 猜测应该是你的服务器设置了虚拟目录的

如何在web项目中,得到比如一个js的文件

问题描述 如何在web项目中,得到比如一个js的文件:我是想通过程序写js,如data.js在WEB-INF 目录的script目录下我如何构造File,然后往里面写数据 问题补充:wocool_8 写道 解决方案 在Servlet里写可以吗? String webRoot = super.getServletContext().getRealPath("/");File file = new File(webRoot+"/WEB-INF/script/data.js&quo

ASP.NET 2.0数据教程之六十二:创建一个用户自定义的Database-Driven Site Map

返回"ASP.NET 2.0数据教程目录" ASP.NET 2.0数据教程之六十二:创建一个用户自定义的Database-Driven Site Map Provider 导言: ASP.NET 2.0的网站地图(site map)功能允许页面开发者在一些 持久介质(persistent medium),比如一个XML文件里,自己定义一个web程序的 site map.一旦定义了之后,我们可以通过System.Web命名空间的SiteMap class 类或某个Web导航控件,比如Si