這陣子開始研究Spring Framework怎麼使用,但一開始要匯入相關的jar檔就搞死我了。第一,不知道要匯入哪些jar檔,第二,官網上僅說建議使用Maven或Gradle來下載jar檔。問題就更大了,因為看了一下Maven的教學,好像也不是那麼容易理解。最後在同事的指導下,才發現如果只是單純使用Maven的套件管理功能似乎不難。
寫這篇文章時我對Maven仍非常的不了解,我只知道這樣做可以讓我快速有個Web專案可以玩Spring。請看這篇比較新的教學版本 - 在Eclipse使用Maven建立Spring MVC Web專案 2018
在Eclipse建立動態web專案(web app),並利用Maven下載Spring的jar檔步驟如下。
安裝Eclipse Maven plug-in。不過我用的Eclipse版本為Mars,已經內建Maven,所以不用另外下載。
首先建立一個新的一般動態網站專案,Eclipse工具列選擇 File -> New -> Dynamic Web Project
。
專案名稱Project Name在此範例命名為"MavenDemo",接著按Finish。
完成後可在Eclipse左側的Project Explorer中看到建立好的專案。
因為要利用Maven下載Spring的jar檔,所以必須轉換成Maven專案。在專案上按滑鼠右鍵Configure -> Convert to Maven Project
。
接著直接按Next >到底即可,最後可以看到原本專案的目錄結構有點不太一樣,尤其是多了pom.xml
檔案。點兩下開啟pom.xml
pom.xml
開啟如下,然後點選下方的pom.xml標籤即可看到pom.xml
的內容。
接著到Spring官網,選擇上方導覽列的Project
進入後接著選擇Spring Framework
將畫面往下拉一點可看到Quick Start
接著選擇要下載的Spring版本,選擇好後將下面<dependencies> ... </dependencies>
的所有內容複製起來。
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.2.RELEASE</version>
</dependency>
</dependencies>
接著將複製的內容貼到剛剛的pom.xml
檔內,注意必須貼在<project> ... </project>
內然後按ctrl+s存檔
一旦存檔後Maven便會替我們下載所需的jar檔,等個一分鐘,即可在專案目錄的Java Resource -> Libraries -> Maven Dependecies
中看到Spring的jar檔都自動下載並匯入囉,如此就可以開始練習你的第一個Spring專案了。
注意Spring MVC是Spring的擴展,所以如果你要使用Spring MVC的話只要把maven dependency(就是剛貼到pom.xml
的內容)改為Spring MVC的即可。Spring MVC的maven dependency在這裡,從點選你要的版本就有了
例如下面是Spring MVC 4.2.2的maven dependency,一樣貼在<dependencies> ... </dependencies>
中
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.2.2.RELEASE</version>
</dependency>
上面介紹的是先產生一個動態網站專案後,再轉成Maven專案,下面則是介紹如何新建一個Maven專案並加入Spring的jar檔,結果大同小異,用哪個方法都行。
Eclipse工具列File -> New -> Others...
開啟對話視窗。在Wizards欄位輸入"Maven Project"可以快速找到要建立的Maven專案。
點選[Maven Project]後按Next >,這邊基本上都不需要修改,只是我的預設工作路徑(default Workspace location)不知為何會跑到某個專案名稱下,若你也有碰到相同的問題就按右邊的Browse...,重新選擇你要的workspace資料夾然後按確定。
workspace的位置修改完成,接著按Next >。
選擇Maven的Archetype,點選maven-archetype-webapp
然後按Next >。
(Maven的Archetype簡單說就是專案的template,不同的Archetype有不同的目錄結構,專案套用Archetype後會長出該Archetype定義的目錄及資料夾。除了內建的Archetype也可自訂Archetype(目前我只知道這樣但我還不會用:p))
輸入Group Id
及Artifact Id
,就相當於Maven的套件及專案名稱。Artifact Id
會變成此專案的名稱,範例中命名為SpringWebByMaven,命名完後按FinishMaven的Web專案就建立完成了。(Group Id和Artifact
Id命名最後都會在pom.xml
中。)
預設在Maven Dependencies目錄下會有個junit-3.8.1.jar
(JUnit是Java的單元測試工具),待會Spring的jar檔也會被新增在這個位置。
而那個自動產生的index.jsp
因為格式很奇怪,可以刪掉重新建一個。
接下來開啟pom.xml
,注意Maven專案建立預設會加入junit這個jar檔,因此已經有<dependencies> ... </dependencies>
了。
所以到Spring官網只要複製<dependency> ... </dependency>
的內容即可,然後貼到pom.xml
並存檔。
存檔完Maven就開始幫你下載Spring的jar檔囉,完成後jar檔都在Maven Dependencies的目錄下。
建立好的專案會缺少src/main/java
及src/test/java
兩個build path(這不曉得是不是Eclipse maven的bug?)。在專案上右鍵Build Path -> Configure Build Path...
開啟Properties視窗,在Java Build Path選擇Source標籤,可以看到少了兩個build path的目錄,一為src/main/java
,另一為src/test/java
要解決此問題,切換到Java Build Path下的Order and Export標籤,此時可看到src/test/java (missing),將JRE System Library
及Maven Dependencies
打勾,按Apply->OK即可修復,可參考這篇
好了,終於可以開始練習Spring了:D
如果不想用maven而想要手動下載Spring的jar檔,可到這裡下載
如果覺得文章有幫助的話還幫忙點個Google廣告,感恩。
沒有留言:
張貼留言