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>
  或者   
<?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>
 这个时候若更改成jboss服务器,此时使用jboss5.0,则会出现如下情况:
 
 
  还有一种情况:比如新建EJB项目时,比如填完名称,直接默认了,这是一贯的作风(相信大部分都会这样滴(*^__^*))如下图:
  
  默认情况下若不选择jboss版本,则默认是3.1,但是jboss5.0最高支持3.0.
  jboss5.0中添加刚新建的ejb项目,如下图:
  
  
  出现以上情况咋办?重新新建?若是新建还没有操作,也许值得,但是若是写了代码了,咋办?
  当你遇到问题时,求助互联网啊,嘻嘻。
  方案如下:
  找到工程项目的硬盘目录,打开项目下的 .setting文件夹,如下图:
  
   
  找到 .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即可。 最后重启tomcatX就可以正常使用了。

  然后刷新项目即可哈。
  若是在eclispe中更改属性,则是无法更改的,如下:
  
 

 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值