eclipse中如何修改dynamic web module version

java项目中,若切换服务器,经常会涉及到动态web模块版本的问题。
  
  比如:新建了web项目,开始使用tomcat服务器,但是后来使用jboss服务器,就会出现:Project facet Dynamic Web Module version 3.0 is not supported.
  不知你是否注意,在我们新建web项目时,动态版本默认是3.0,可如下图证实:
  
  这个dynamic web module version是与你的servlet版本有关的,若使用tomcat7.0,一般是3.0;若tomcat6,则一般是2.4或2.5.
  选择的不同,则生成web.xml中的dtd文件也不同,如
 
  <?xml version="1.0" encoding= "UTF-8"?>
<web-app xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xmlns= "http://java.sun.com/xml/ns/javaee" xmlns:web= "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id= "WebApp_ID" version ="3.0">
</web-app>

or

<?xml version="1.0" encoding= "UTF-8"?>
<web-app xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xmlns= "http://java.sun.com/xml/ns/javaee" xmlns:web= "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id= "WebApp_ID" version ="2.5">
</web-app>

 

 

解决方法:

找到 .setting文件夹内的org.eclipse.wst.common.project.facet.core.xml文件,文件格式大致如下:

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <runtime name="Apache Tomcat v7.0"/>
  <fixed facet="java"/>
  <fixed facet="jst.web"/>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="java" version="1.7"/>
  <installed facet="jst.web" version="3.0"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>
直接手动修改jst.web对应的version即可。  然后刷新项目即可。
 
 

eclipse中如何修改dynamic web module version,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。