標籤:部署 workspace simple tin 步驟 pat 解決方案 upd 通過
使用Java的猿們,最多接觸的大概就是web項目了吧?在學習Maven的過程中,首先當然就是建立一個webapp項目。
自己在嘗試的過程中,碰到了很多的問題。我把詳細的過程都記錄下來,用以今後參考。
步驟:
如果未搭建好Maven開發環境,請參考前一篇:Maven學習筆記——環境搭建開啟Eclipse, 功能表列選擇File -> new -> other,在彈出的對話方塊中找到Maven Project.在彈出的建立Maven項目的對話方塊中,
不要勾選第一項“Create a simple project”,如所示,點擊Next。 在列表中找到並選擇“maven-archetype-webapp”,點擊Next.如所示:
填寫項目相關資訊,Finish。
建好的工程結構如:
項目產生後,JRE版本預設為1.5 ,我們需要修改成更高版本的: 在項目的POM.xml檔案中,加入如下配置:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.1</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build>
(也可以通過修改settings.xml全域配置以讓maven預設設定特定版本的JRE,具體方法這裡先不寫了)
設定完後,選中項目右擊,彈出的菜單中選擇Maven->Update Project .
進入項目的java build path配置頁面:
發現項目還存在如所示錯誤:
這時只要將Library標籤中的JRE System Library設定為本機預設的就可以了(不知道為什麼會這樣)
雙擊JRE System Library項,彈出JRE設定介面:
直接選 workspace default jre. 完成後,發現項目還有三個報錯,如所示。別急,我們一個一個解決。
項目中,index.jsp顯示有錯誤,錯誤資訊為: The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 這時因為缺少了servlet-api、JSP-API、JSTL等包。我們不需要一個一個把包導進來,因為Tomcat等servlet容器都提供了這個包。在Eclipse中對項目設定一下運行環境就可以了:
如果這裡沒有伺服器配置,請事先配置一個tomcat等伺服器。選中tomcat,點擊finish後,看到工程已經不再有那兩個servlet的報錯了。還剩下一錯誤:java compiler level does not match the version of the installed java project facet.
開啟項目的Project Facet設定項,如,將java的版本設定為1.7,確定。
現在應該不再報錯了。但是我們還需要將Project Facet中的Dynamic web module的版本設定的更高一些。如所示,我將它設定為3.0版本。
這時可能會報如下的錯誤: Cannot change version of project facet Dynamic Web Module to 3.0 我在網上找了好多資訊,發現所有的解決方案完全沒有效果。但是偶然的,我發現一個簡單的方法就能解決這個問題(不知道是通用的還是我自己環境中的特例)。方法如下:將Dynamic Web Module前的勾取消,點擊Apply。然後再把勾給勾上,發現已經不報錯了。 設定完畢,運行一下試試:
運行後開啟連結:http://localhost:8080/hello-maven-web/index.jsp發現瀏覽器報404錯誤。檢查項目的部署配置:
發現少了webapp這個目錄部署路徑。點擊“Add”,彈出的對話方塊中選擇“folder”,選中webapp檔案夾:
點擊finish就行了。重新運行一次,終於看到Hello World!
Maven學習筆記-使用Eclipse外掛程式建立Java Webapp項目