今天學習spring的時候,學到了springMVC, 由於springMVC 就是beginning spring 書籍的第三章,爲了更深刻或更簡單的起步學習springMVC, 我又找了另一本書籍, Spring MVC Beginners Guide (2nd Edition), 這本書的開始確實比較簡單,就是安裝jdk, maven, tomact, 還有就是安裝IDE, 他用的IDE 是Spring Tool Suite. 我就到spring 的官網也下載了它,最新的版本是4 (Spring Tool Suite 4). 下載完成後,它是一個壓縮包,解壓一下放到咱們想放置的位置,好比D盤,就是以下的文件夾java
進入到該文件夾之後,有一個綠色的圖標的.exe 文件,雙擊他就能夠啓動Spring Tool Suite, 啓動成功後,發現和eclipse 幾乎如出一轍。爲了避免用每次都到該文件夾下啓動程序,能夠建立一個桌面快捷方式。和eclipse 同樣,就要配置tomcat, 和maven, 這個也相對簡單。配置成功之後,就簡單作一個項目。可是項目根本啓動不起來,剛開始學spring MVC, 報錯確定是慌了,歷來沒有學過,就是有點底氣不足啊! 再說,amazon 上有的購買者對這本書的評價說有代碼錯誤,我想是否是真的代碼錯誤啊,算了吧!再看一看Beginning Spring 書籍中的第三章,它是怎麼配置的,按照書本的內容,又配置了一邊,項目仍是有問題?沒有辦法,我把Beginning Spring 的源代碼下載下來,引入到Spring Tool Suite中,項目仍是啓動不起來。最後實在是沒有辦法了,我把eclipse 打開, 看看eclispe 是否是 能把項目成功跑起來。把源代碼導入的eclipse 中,這時在下方的控制面板的Markers中發現了兩個錯誤web
web module與Java版本之間有衝突,百度了一下,發現是maven 的編譯插件致使的,修改項目的編譯插件就能夠了。打開pom.xml 文件,在build 標籤中輸入以下內容spring
<build> <finalName>basic</finalName> <plugins> <!-- define the project compile level --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <source>1.10</source> <target>1.10</target> </configuration> </plugin> </plugins> </build>
修改pom.xml 成功保存後,Markers 裏面又顯示了一個錯誤,說實話,有點懼怕了,趕忙看了一下,apache
還好,修改了pom文件後,項目和pom 文件不一致了,固然它也給出了錯誤的修改方法:Maven-> Update Project, 咱們照作就是了。Update Project 以後,錯誤消失了,鬆一口氣。而後,把項目添加到 sever 裏面, 在控制面板中,找到Servers, 若是沒有, 菜單欄中,window-> Show Viewtomcat
若是仍是沒有Severs, 像上圖同樣,就選最下面的Other, 而後在彈出框中,輸入servers, 找到Servers, 點擊一下,就能夠添加了。成功添加Servers之後,在上面右擊,選Add and Removeeclipse
彈出框的左側Available顯示,能夠添加的項目名,就是咱們的這個項目,而後點擊中間的Add, 他就到右側的configured 框中了,點擊finshied 就ok了。項目添加成功了,就點擊右上角的綠色三角start 按鈕,開始啓動,沒有報錯.maven
在eclipse 中,成功跑起來了,我又到把項目導入到Spring Tool Suite 中,在 Servers 中右鍵點擊,添加項目的時候,提示There is no resources that can be add and Remove, ide
拿着這一句話,百度了一下,最多的就是項目不是web 項目, 我確定懷疑這個,由於在eclipse 中,它已經跑成功了。但我仍是按照步驟,查了一下項目.settings 和.project 文件,都沒有問題。而後就是項目的Project Facets中的選擇項設置成動態的Web項目. 在項目上右擊,選擇properties, 而後在輸入框中,輸入project facets, 發現,根本就沒有Dynamice web module 這一個選項,我搜了很久,答案都是這個樣,可是個人Project Facets 中,根本就沒有這個選項,而且也沒有辦法添加了。學習
同時,還有兩個報錯ui
1, Unknown referenced nature: org.eclipse.jem.workbench.JavaEMFNature. 百度了一下,顯示最多的是,也是怎麼java 項目轉化成web 項目, 也就是說,我這個項目也不是 web 項目。
2, Implementation of project facet jst.web.jstl could not be found.Functionality will be limited, 解決方式是右擊項目打開Properties選項,選中左側Project Facets勾選Dynamic Web Module和Java選項並應用。
如今能夠肯定的是 不是web 項目和 Project Facets 配置,其實只是一回事,那我接着百度,Project 下面,沒有 Dynamic Web Module 選項,獲得最大的答案是修改 .setting 和 .project 文件的內容,在我這裏都沒有問題? 沒有找到解決辦法。
最後沒有辦法,仍是要使用google, 來解決一下,FQ打開,把上面全部的問題,都用google 搜索了一下,有一個問題給了提示,他的eclipse 無法建立Dynamic Web Module, 我這時纔想到,是否是Spring Tool Suite 是否是也不能建立Dynamic web Moduel, 這時, File -> project.. -> 輸入web,果真沒有Dynamic Web Module 選項,這時就明白了。
百度了一下,Eclispe 沒法建立Dynamic Web Module, 原來是安裝插件Eclipse Java EE Developer Tools。菜單欄help ---> install new software, 而後在彈窗框中work with選擇,Juno - http://download.eclipse.org/releases/juno
最後一個 Web, XML, Java, 若是按上圖勾選,則所有安裝這個插件的內容,其實也不用,點擊這個選項前面的箭頭,能夠看到有好多組成項, 只選擇其中的Eclipse Java EE Developer Tools,就行。可是我安裝的時候,就像上圖所示全選了,下載很是慢,且中間報錯退出了。
我想Spring Tool Suite 是否是能直接安裝插件,搜了一下,也能夠,菜單欄help --> Eclipse MarketPlace...
彈窗後,在Find中輸入Eclipse Java EE Developer Tools, 在結果列表向下滾動,直接有Eclipse Java EE Developer Tools 這個插件,以下圖所示,
點擊Install 就能夠進行安裝了,安裝完成後,從新Spring Tool Suite,這時,Servers 中,右鍵單擊就能夠添加web 項目了,同時,也能夠建立動態web 項目了。