1. 程式人生 > >sts 創建springMVC項目---- maven和tomcat 錯誤處理

sts 創建springMVC項目---- maven和tomcat 錯誤處理

簡單的 組成 cat sta artifact web項目 彈出框 搜索 could

  今天學習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盤,就是如下的文件夾

技術分享圖片

  進入到該文件夾以後,有一個綠色的圖標的.exe 文件,雙擊他就可以啟動Spring Tool Suite, 啟動成功後,發現和eclipse 幾乎一模一樣。為了不用每次都到該文件夾下啟動程序,可以創建一個桌面快捷方式。和eclipse 一樣,就要配置tomcat, 和maven, 這個也相對簡單。配置成功以後,就簡單做一個項目。但是項目根本啟動不起來,剛開始學spring MVC, 報錯肯定是慌了,從來沒有學過,就是有點底氣不足啊! 再說,amazon 上有的購買者對這本書的評價說有代碼錯誤,我想是不是真的代碼錯誤啊,算了吧!再看一看Beginning Spring 書籍中的第三章,它是怎麽配置的,按照書本的內容,又配置了一邊,項目還是有問題?沒有辦法,我把Beginning Spring 的源代碼下載下來,引入到Spring Tool Suite中,項目還是啟動不起來。最後實在是沒有辦法了,我把eclipse 打開, 看看eclispe 是不是 能把項目成功跑起來。把源代碼導入的eclipse 中,這時在下方的控制面板的Markers中發現了兩個錯誤

技術分享圖片

  web module與Java版本之間有沖突,百度了一下,發現是maven 的編譯插件導致的,修改項目的編譯插件就可以了。打開pom.xml 文件,在build 標簽中輸入如下內容

<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 裏面又顯示了一個錯誤,說實話,有點害怕了,趕緊看了一下,

技術分享圖片

  還好,修改了pom文件後,項目和pom 文件不一致了,當然它也給出了錯誤的修改方法:Maven-> Update Project, 我們照做就是了。Update Project 之後,錯誤消失了,松一口氣。然後,把項目添加到 sever 裏面, 在控制面板中,找到Servers, 如果沒有, 菜單欄中,window-> Show View

技術分享圖片

  如果還是沒有Severs, 像上圖一樣,就選最下面的Other, 然後在彈出框中,輸入servers, 找到Servers, 點擊一下,就可以添加了。成功添加Servers以後,在上面右擊,選Add and Remove

技術分享圖片

  彈出框的左側Available顯示,可以添加的項目名,就是我們的這個項目,然後點擊中間的Add, 他就到右側的configured 框中了,點擊finshied 就ok了。項目添加成功了,就點擊右上角的綠色三角start 按鈕,開始啟動,沒有報錯.

  在eclipse 中,成功跑起來了,我又到把項目導入到Spring Tool Suite 中,在 Servers 中右鍵點擊,添加項目的時候,提示There is no resources that can be add and Remove,

技術分享圖片

  拿著這一句話,百度了一下,最多的就是項目不是web 項目, 我肯定懷疑這個,因為在eclipse 中,它已經跑成功了。但我還是按照步驟,查了一下項目.settings 和.project 文件,都沒有問題。然後就是項目的Project Facets中的選擇項設置成動態的Web項目. 在項目上右擊,選擇properties, 然後在輸入框中,輸入project facets, 發現,根本就沒有Dynamice web module 這一個選項,我搜了好久,答案都是這個樣,但是我的Project Facets 中,根本就沒有這個選項,並且也沒有辦法添加了。

  同時,還有兩個報錯

  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 項目了。

sts 創建springMVC項目---- maven和tomcat 錯誤處理