Maven3.2創建webapp項目過程中問題以及解決方案


  用maven組件來創建web項目,maven的好處一大堆,但是在創建項目的時候問題也很多,諸多不順,網上找了很多資料,貌似都沒能解決問題。

  環境:jdk1.7.0_80,eclipse4.4,maven3.2.1

   注意:測試了jdk1.8.0_65,按照同樣的步驟,貌似不能解決問題,如果你們有解決方案,可以告訴我,謝謝。

 

   問題1、The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

   解決方法:這個是因為沒有javaee的jar包導致,在pom.xml文件里面加入如下xml片段即可解決問題

<!-- 導入java ee jar 包 -->
<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>7.0</version>
</dependency>

  

  問題二、maven創建的webapp項目默認依賴jdk1.5,修改jdk版本

  解決方法:在mavne的安裝目錄找到conf文件夾里面的settings.xml文件,原文件里面<profiles></profiles>節點里面的內容都已經注釋掉,那么現在在該節點下面添加如下xml片段

<profile>  
        <id>jdk-1.7</id>  
         <activation>  
              <activeByDefault>true</activeByDefault>  
              <jdk>1.7</jdk>  
          </activation>  
        <properties>  
        <maven.compiler.source>1.7</maven.compiler.source>  
        <maven.compiler.target>1.7</maven.compiler.target>  
        <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>  
        </properties>  
    </profile>   
     

  保存之后,在eclipse里面找到項目文件,右鍵 mavne-->update projects...即可。

  

  問題三、cannot change version of project facet Dynamic Web Module to 3.0。

  maven創建的webapp項目默認的Dynamic Web Module是2.3版本,因這里jdk是1.7,我需要修改Dynamic Web Module版本為3.0或者以上

  解決方法:項目右鍵屬性彈出如下窗體

  

  

  A、這個時候先新建一個普通的dynamic web 項目(先建好即可,后面會用到web.xml部分內容),然后找到maven新建的webapp項目webxml文件,修改前后對照

  

  修改之后

   

  具體xml片段是:

<?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"
    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">

    <display-name>Archetype Created Web Application</display-name>
</web-app>

 

  B、找項目在磁盤中的位置,接着進入.settings文件里面,找到org.eclipse.wst.common.project.facet.core.xml這個xml文件,內容如下:

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="jst.web" version="2.3"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
  <installed facet="java" version="1.7"/>
  <installed facet="jst.jaxrs" version="2.0"/>
</faceted-project>

  將<installed facet="jst.web" version="2.3"/>的版本號修改為3.0,然后再在eclipse里面右鍵maven-->update projects即可。

  

  至此,該web項目沒有任何與maven configration的錯誤,那么我們總結一下步驟:

  一、在eclipse4.4配置mavne3.2的時候,在其安裝目錄找到conf文件里面settings.xml,先初始化jdk以及依賴jdk的版本。

  二、修改項目所在目錄找到.settings-->org.eclipse.wst.common.project.facet.core.xml ,修改jst.web的版本號。

  三、修改項目里面web.xml里面web-app的版本號。

  四、在eclipse里面,項目右鍵mavne-->update projetcs


免責聲明!

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



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