用 STS 建立 Maven 項目並不複雜,只是其中有一些坑在裏面,我在解決這些坑的時候發現不少人都遇到了相同的問題,所以把建立的步驟記錄在這裏。全部的步驟不外乎就是一些套路,並無什麼複雜的地方,只是在被套路的時候,找解決方法真是很煩人的一件事情。畢竟不是什麼大的技術問題,只是一個工具的使用,難道不鬧心麼?方便本身,也方便有須要的朋友。java
建立項目web
啓動 STS ,點擊菜單的「 File 」->「 New 」->「 Maven Project 」,出現以下圖的窗口。微信
在 Location 處填入相應的路徑,我這裏填入的是 「 D:\MavenTest 」,點擊「 Next 」按鈕,進入下一步,在「 Filter 」處填寫「 webapp 」會過濾列表中的選項,畢竟太多了挨個找不容易,以下圖。app
這裏選擇上面一項,可能這裏只出來一項。接着點擊「 Next 」按鈕,進入下一步。在該步驟中,會填寫項目的名稱和包名稱,如圖所示。eclipse
完成該步驟的填寫後,點擊「 Finish 」按鈕,項目就建立完成了。webapp
項目設置工具
使用 STS 建立的項目默認是使用低版本的 JDK 進行開發的,而且默認使用的是 JSP 2.3版本的,在這個版本中不能解析 EL 表達式,也就是在 JSP 中寫入的 ${} 表達式會被原樣的輸出到頁面中。一般修改的方法是在項目名稱上點擊右鍵選擇「 Properties 」,在彈出的屬性對話框中選擇「 Project Facets 」選項,以下圖所示。ui
從圖中能夠看出,「 Dynamic Web Module 」的版本是「2.3」,這個版本是不支持EL表達式,而後「 Java 」的版本是「1.5」,我這裏將它修改成「1.8」,而後點擊「 Apply 」按鈕,前提是你安裝了 JDK 1.8 的版本。可是修改「 Dynamic Web Module 」則會報錯,以下圖所示。spa
這裏已經選擇了 Java 的 1.8 版本,可是仍然沒法選擇它的 3.1 版本。如何修改這裏呢,在 STS 中點擊「 Navigator 」,打開項目的「 .settings 」下的「 org.eclipse.wst.common.project.facet.core.xml 」文件,該文件內容以下:3d
1 <?xml version="1.0" encoding="UTF-8"?> 2 <faceted-project> 3 <fixed facet="wst.jsdt.web"/> 4 <installed facet="jst.web" version="2.3"/> 5 <installed facet="wst.jsdt.web" version="1.0"/> 6 <installed facet="java" version="1.8"/> 7 </faceted-project>
將上面第 4 行代碼的 2.3 修改成 3.1,並保存,再回到 Project Facets 進行查看,Dynamic Web Module 對應的版本就改變了。
接着看建立的項目,以下圖。
Maven 項目提供了三個目錄,可是這裏顯然顯示不正確,在項目上點擊右鍵,選擇「 Properties 」,選擇「 Java Builld Path 」,以下圖所示。
選中「 JRE System Library 」列,而後點擊「 Edit... 」按鈕,而後選擇「 Workspace default JRE(jdk1.8.0_102) 」,前提是你安裝了 JDK 1.8 的版本,而後點擊「 Finish 」按鈕,返回上一個窗口點擊「 Apply And Close 」按鈕,以下圖所示。
此時,項目中的目錄就顯示正確了,以下圖所示。
此時,項目並無完,爲何呢?由於咱們把 Dynamic Web Module 設置爲 3.1 ,可是 web.xml 文件仍然是 2.3 的版本,找到 web.xml 查看,內容以下:
1 <!DOCTYPE web-app PUBLIC 2 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 3 "http://java.sun.com/dtd/web-app_2_3.dtd" > 4 5 <web-app> 6 <display-name>Archetype Created Web Application</display-name> 7 </web-app>
直接將 web.xml 文件刪除掉,在 WEB-INF 目錄上點擊右鍵 New 選擇 Other 項,選擇 XML File 後點擊「 Next 」按鈕,而後修改文件名爲「 web.xml 」,接着點擊「 Next 」按鈕,而後選擇「 Create XML file from an XML schema file 」選項,以下圖。
選擇該選項後,點擊「 Next 」按鈕,而後按照下圖選擇相應的 xsd 文件,並點擊" Next "按鈕。
而後根據下圖進行操做,一句一句的描述實在太繁瑣了,看圖吧。將圖中「 javaee 」的內容刪掉,這是 web.xml 文件中命名空間的一個前綴,它不須要。爲何不須要呢?不少書上介紹 web.xml 文件時根本沒有這個前綴,可是 STS 生成的 web.xml 文件中是有的,按照書上的配置的話,就須要人爲的在添加這個前綴了。這就是我剛開始配置的時候比較鬱悶的地方,後來本身發現了這個步驟。
刪除之後點擊「 Finish 」按鈕,這時咱們的 web.xml 文件就生成,內容以下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" 3 xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 5 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd "> 6 </web-app>
看到了麼,版本成爲 3.1 了。
OK,基本上到了這裏 STS 創建的 Maven 項目的一些坑就都解決了,本身試試吧!
個人微信公衆號:「碼農UP2U」