在Eclipse中使用Maven构建Spring项目
最新版的Spring需要使用Maven構建,本文講述怎么在Eclipse構建Maven項目,以配置Spring項目為例。
maven簡單介紹
maven是構建工具,也是構建管理工具。ant只是構建工具,因為不支持生成站點功能,只有預處理,編譯,打包,測試,部署等功能。
1.? 倉庫的概念
在基于Maven管理的項目開發中,這個項目自身是不引進第三方jar包的,使用的時候通過pom.xml的依賴機制,從本地倉庫或者遠程倉庫去獲取第三方jar包。這個其實是打破了以往的開發習慣,一般我們是在開發項目的時候需要哪個jar包了,立刻google一下,找到相關網址,之后下載,放到我們項目的classpath中。現在是不必強制引用jar,只要通過pom.xml配置,到一定的時刻,比如編譯、測試、打包、部署,自然會將依賴的jar放進您預先的位置。Maven倉庫是基于簡單文件系統存儲的,根據咱們之前提到的坐標,可以找到該組件在倉庫的位置。
2.? 倉庫的分類
Maven的倉庫分為2種,一個就是本地機器的本地倉庫,另一個就是遠程的Maven中心倉庫。當本地倉庫沒有您需要的jar包的時候,它會從遠程核心中心倉庫中下載。為了節省Maven核心倉庫的帶寬和時間,很多企業都在公司的局域網內搭建了私有的倉庫服務器,內部項目先從私服下載東東,沒有的時候私服從外網中心倉庫下載,內部開發的項目還能上傳到私服上供其他項目組使用。
3.? 本地倉庫明細
本地倉庫大家默認是在用戶臨時文件夾的~/.m2/repository下的settings.xml 。
中心倉庫地址:http://search.maven.org/
一.配置Maven
1.安裝m2eclipse插件
要用Eclipse構建Maven項目,我們需要先安裝meeclipse插件,打開Eclipse菜單欄Help->Eclipse Marketplace
輸入“Maven”搜索到插件Maven Integration for Eclipse 并點擊insall安裝
2.構建Maven簡單項目
安裝成成之后我們在Eclipse菜單欄中點擊File->New->Other
在彈出的對話框中點擊Maven文件夾
點擊Maven Project,并點擊Next,到下一個對話框是默認設置,沒什么特別的,繼續點擊Next到下面這一步
如圖所示,選擇maven-archetype-quickstart,點擊Next
填寫好GroupId, ArtfactId,Version等信息,點擊Finish。
maven坐標
groupId:項目組織的逆向域名,比如Apache的項目可以org.apache開頭
artfactId:表示groupId下單個項目的唯一標識
version:發布項目的版本,版本標識加上SNAPSHOT標記
packing:項目打包后的輸出,默認為jar。指為war項目打包生成一個web項目。
groupId,artfactId,version標識項目的唯一性,packing可以缺省
這樣我們就創建好一個Maven簡單項目,項目結構如圖所示
3.構建Maven Web項目
其實構建Maven Web項目的操作跟創建簡單Maven項目類似,點擊Eclipse菜單File->New->Other->Maven->Maven Project
在選擇maven-archetype的界面進行如下操作:
點擊Next彈出填寫Maven坐標信息的窗口
在彈出的窗口填寫好相應的groupId,artifactId,version等信息,點擊Finish完成。
構建好的Maven web項目結構如圖所示
4.設置Maven項目屬性
右擊項目,點擊Properties->Project Facets
如圖所示可以看到項目為web2.3,java1.5,我們也可以改成我們所需要的版本。
也可以打開配置文件web2/.settings/org.eclipse.wst.common.project.facet.core.xml,修改即可:
5.導入Maven項目
切換project explorer
很多時候我們需要project explorer,可以點擊菜單上的Window--project explorer
然后在Eclipse project explorer中右擊,在彈出框中選擇import
選擇Existing Maven Projects,點擊Next下一步
選擇一個已經創建好的Maven項目,并點擊Finish,這樣導入Maven項目就完成了。
6.獲取Spring的Maven坐標信息
Spring官網是http://spring.io/??
我們需要選擇Projects,再選擇Spring Framework,也就是這個鏈接? http://projects.spring.io/spring-framework
我們選擇3.2.7版本Spring的Maven構建坐標信息復制
<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>3.2.7.RELEASE</version></dependency>
</dependencies>
7.在Maven中配置Spring依賴信息
pom文件簡介
pom作為項目對象模型。通過xml表示maven項目,使用pom.xml來實現。主要描述了項目:包括配置文件;開發者需要遵循的規則,缺陷管理系統,組織和licenses,項目的url,項目的依賴性,以及其他所有的項目相關因素。
打開之前創建的WebApp項目
pom.xml就在項目的根目錄下,如上圖所示。
雙擊pom.xml打開如圖所示的窗口集合,默認是Overview視圖,可以點擊下面的頁簽切換視圖。
點擊Dependencies切換到依賴窗口,點擊Add新建項目依賴。
填寫之前選擇的Spring的Maven坐標信息,點擊OK。
切換到pom.xml頁簽可以看到新增的項目信息。
點擊“保存”按鈕
點擊Maven Dependencies可以看到Spring項目的依賴的jar包已經引入。
8.最基本的Spring的Helloworld程序
在src/main/java的com.mc.app.WebApp包下
新建Java源文件HelloWorld.java
代碼:HelloWorld.java
package com.mc.app.WebApp;public class HelloWorld {private String message;public void setMessage(String message){this.message = message;}public String getMessage(){return this.message;}public void printMessage(){System.out.println("Your Message : " + message);}
}
修改App.java
導入spring包,已經可以使用自動提示代碼功能,說明jar包導入成功
App.java代碼:
package com.mc.app.WebApp;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/*** Hello world!**/
public class App
{public static void main( String[] args ){ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml"); HelloWorld obj = (HelloWorld) context.getBean("helloWorld"); obj.printMessage();}
}
在eclipse工程下建立資源文件夾
需要做的工作是讓項目知道這個文件夾是source,下面是eclipse中設置方法:
1、右鍵項目,選擇Properties
2、在彈出的視窗中,選擇左側的Java?Build?Path
3、此時在右側菜單中選擇Source
4、在右側菜單下的窗體,選擇Add?Folder,把你剛才建立的文件夾例如src選中
配置文件Beans.xml
需要新建一個XML文件來配置bean,這個XML的作用是集中在一個地方,配置和管理所有的bean。
將這個XML文件放在src下面,這樣就保證Eclipse可以在CLASSPATH下讀取到這個文件。
新建一個Beans.xml,要注意和MainApp.java中ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml")一致。
Beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><bean id="helloWorld" class="com.mc.app.WebApp.HelloWorld"><property name="message" value="Hello World By http://blog.csdn.net/unix21!"/></bean></beans>
spring xsd文件地址
http://www.springframework.org/schema/beans/
運行Maven命令
右擊項目,點擊Run as,如下所示:
可看到有很多現有的maven命令,點擊即可運行,并在控制臺可以看到運行信息?如果你想運行的maven命令在這里沒有找到,點擊Maven build 5創建新的命令。
填入Maven命令:clean package,點擊Run即可:
Maven常用命令
清理 ?? ?clean
編譯 ?? ?compile
打包 ?? ?package
安裝 ?? ?install
跳過測試??? ??? ?clean package -Dmaven.test.skip=true?
在App.java上右鍵點擊Run As Java Application
成功輸出:Your Message : Hello World By http://blog.csdn.net/unix21!
第二次重新使用Maven Build
可以選擇Maven Build4,這樣就可以使用之前使用過的命令,如果使用5就彈出使用新框,可以使用新命令
--------------------------------------------------------------
補充:如果Maven配置少了一個spring的jar包,提示: ArtifactTransferException: Failure to transfer
添加依賴之后,總是報添加的依賴jar文件找不到,但是在nexus的庫里面能找到這個依賴的jar文件,但是在本地的maven庫里面找不到,于是我將本地庫里面這個依賴對應的文件夾刪掉,然后在eclipse里面執行update dependencies。成功解決問題!
本地庫的位置其實很好找
刪掉.m2目錄下的repository
-------------------------------------------------------------
重要補充:
如果提示找不到Beans.xml配置文件:
INFO: Loading XML bean definitions from class path resource [Beans.xml]
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [Beans.xml]; nested exception is java.io.FileNotFoundException: class path resource [Beans.xml] cannot be opened because it does not exist
?? ?at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:343)
那么就是沒有將配置文件放入資源文件中!
1.可以項目--右鍵-新增資源文件夾? 也就是? "Source folder"
2.命名資源文件夾名稱
src/main/resources
建好的資源文件夾如圖所示:
3.新增Beans.xml文件
這個文件和前面的內容一致。
4.重新Run As Java Application
即可成功訪問。
5.如果還是不行,可以嘗試修改Beans.xml配置文件中的字符。還有需要注意配置文件不要寫錯了!
總結
以上是生活随笔為你收集整理的在Eclipse中使用Maven构建Spring项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux监控工具dstat
- 下一篇: Linux环境编程