eclipse如何修改dynamic web module version

java項目中,若切換服務器,經常會涉及到動態web模塊版本的問題。
 比如:新建了web項目,開始使用tomcat服務器,但是後來使用jboss服務器,就會出現:Project facet Dynamic Web Module version 3.0 is not supported.
不知你是否注意,在我們新建web項目時,動態版本默認是3.0,可如下圖證實:
1366720720_4373.png
 這個dynamic web module version是與你的servlet版本有關的,若使用tomcat7.0,一般是3.0;若tomcat6,則一般是2.4或2.5.
 選擇的不同,則生成web.xml中的dtd文件也不同,如:
  1. <?xmlversion="1.0"encoding= "UTF-8"?>

  2. <web-appxmlns: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">

  3. </web-app>

 或者  
  1. <?xmlversion="1.0"encoding= "UTF-8"?>

  2. <web-appxmlns: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">

  3. </web-app>

這個時候若更改成jboss服務器,此時使用jboss5.0,則會出現如下情況:
1366720817_5281.png
 還有一種情況:比如新建EJB項目時,比如填完名稱,直接默認了,這是一貫的作風(相信大部分都會這樣滴(*^__^*))如下圖:
1366720897_6621.png
 默認情況下若不選擇jboss版本,則默認是3.1,但是jboss5.0最高支持3.0.
 jboss5.0中添加剛新建的ejb項目,如下圖:
1366720952_1019.png
 出現以上情況咋辦?重新新建?若是新建還沒有操作,也許值得,但是若是寫了代碼了,咋辦?
 當你遇到問題時,求助互聯網啊,嘻嘻。
方案如下:
 找到工程項目的硬盤目錄,打開項目下的 .setting文件夾,如下圖:
1366721026_5974.png
 找到 .setting文件夾內的org.eclipse.wst.common.project.facet.core.xml文件,文件格式大致如下:
  1. <?xmlversion="1.0"encoding="UTF-8"?>

  2. <faceted-project>

  3. <runtimename="Apache Tomcat v7.0"/>

  4. <fixedfacet="java"/>

  5. <fixedfacet="jst.web"/>

  6. <fixedfacet="wst.jsdt.web"/>

  7. <installedfacet="java"version="1.7"/>

  8. <installedfacet="jst.web"version="3.0"/>

  9. <installedfacet="wst.jsdt.web"version="1.0"/>

  10. </faceted-project>

 直接手動修改jst.web對應的version即可。最後重啓tomcatX就可以正常使用了。

 然後刷新項目即可哈。
 若是在eclispe中更改屬性,則是無法更改的,如下:
1366721194_4482.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章