用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