eclipse如何修改dynamic web module version


轉自 :http://blog.csdn.net/yuebinghaoyuan/article/details/8841625

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文件也不同,如:
  1.   <?xml version="1.0" encoding= "UTF-8"?>  
  2. <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">  
  3. </web-app>  
  或者   
  1. <?xml version="1.0" encoding= "UTF-8"?>  
  2. <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">  
  3. </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文件,文件格式大致如下:
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <faceted-project>  
  3.   <runtime name="Apache Tomcat v7.0"/>  
  4.   <fixed facet="java"/>  
  5.   <fixed facet="jst.web"/>  
  6.   <fixed facet="wst.jsdt.web"/>  
  7.   <installed facet="java" version="1.7"/>  
  8.   <installed facet="jst.web" version="3.0"/>  
  9.   <installed facet="wst.jsdt.web" version="1.0"/>  
  10. </faceted-project>  
  
  直接手動修改jst.web對應的version即可。最后重啟tomcatX就可以正常使用了。

  然后刷新項目即可哈。
  若是在eclispe中更改屬性,則是無法更改的,如下:
  
 
如果以上不起作用,添加下面的plugin到pom的build
    <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
        </plugins>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM