Maven入門詳解以及Eclisp的集成

一、首先要安裝Maven到操做系統上html

Maven的下載頁面:http://maven.apache.org/download.htmljava


Maven跟Tomcat很像,下載下來後直接解壓在指定的目錄就安裝成功了,不過Maven比Tomcat多了一項環境變量配置程序員


當前版本3.0.3。解壓縮下載的文件, web

首先建立一個系統變量M2HOME,變量值指向maven的解壓目錄,如圖所示:apache

將其中的bin目錄設置到windows Path環境變量中.就是把%M2HOME%\bin加到path系統變量中,如圖所示:windows



測試安裝是否成功:在命令行中輸入 

    mvn -versionmybatis

若是安裝成功,輸出結果以下圖所示:app



二、安裝eclipse的Maven插件 

安裝Eclipse的Maven插件M2Eclipse。 

M2Eclipse插件網址:http://m2eclipse.sonatype.org/installing-m2eclipse.html 

經過Eclipse在線更新網址:m2eclipse Core Update Site: 

http://m2eclipse.sonatype.org/sites/m2eeclipse

操做步驟跟安裝其餘插件同樣webapp

(

今天在Eclipse上安裝maven插件時遇到了以下的錯誤:

Cannot complete the install because one or more required items could not be found.
  Software being installed: Maven Integration for Eclipse (Required) 0.12.1.20110112-1712 (org.maven.ide.eclipse.feature.feature.group 0.12.1.20110112-1712)
  Missing requirement: Maven Integration for Eclipse (Editors) 0.12.1.20110112-1712 (org.maven.ide.eclipse.editor 0.12.1.20110112-1712) requires 'bundle org.eclipse.zest.core 0.0.0' but it could not be found
  Cannot satisfy dependency:
    From: Maven Integration for Eclipse (Required) 0.12.1.20110112-1712 (org.maven.ide.eclipse.feature.feature.group 0.12.1.20110112-1712)
    To: org.maven.ide.eclipse.editor [0.12.1.20110112-1712]

 

感受上是少maven依賴的eclipse插件,網上查了查,解決方法以下:

 

啓動eclipse,點擊window——>preferences——>install/update——>available software sites,點擊Add

添加以下信息:

GEF  http://download.eclipse.org/tools/gef/updates/releases/

而後再從新安裝maven插件

)

 

注意,安裝好後還要跟本地解壓出來的Maven集成到一塊,有兩處須要作修改:

第一處:window-preferences,彈出窗口:

第二外:真正集成的動做:



三、啓動eclipse的時候會提示warning:找不到jdk啥的,解決辦法: 
在eclipse.ini(eclipse.ini在Eclipse安裝目錄中)文件中加入以下兩行(vm指向javaw.exe的位置,或者直接到bin那裏也能夠): 

-vm

C:\Program Files\Java\jdk1.6.0_06\bin\javaw.exe

不過這裏有幾點須要注意:

注意: 要寫在兩行,寫在一行不能生效

注意: 這兩行要定在-vmargs以前,否則也不能生效

注意: 最後一行也能夠寫成C:/Program Files/Java/jdk1.6.0_16/bin/



四、提示  Unable to locate the Javac Compiler in: 

解決辦法: 

Window -> Preferences -> Java -> Installed JREs, 點擊"Add"按鈕,選擇默認的"Standard VM", 點擊"Next >",

點擊"JRE home"右邊的"Directory"選擇文件夾C:\Program Files\Java\jdk1.6.0_06\jre,一路「肯定」,回到"Installed JREs"界面,
在剛添加的"jdk1.6.0_06"打上勾。再選擇目錄樹中的"Execution Environments", 點選界面左側的"J2SE-1.6", 
而後在右側點選"jdk1.6.0_06"。重啓Eclipse,一切OK了。 
問題緣由就是系統裝了兩個JRE,應該用JDK中的那個JRE. 
或者edit已經存在的jre,而後點擊Add Extends JARS按鍵,添加jdk\lib\tools.jar文件,一樣能夠解決。

不過這裏也要注意一點,已經建立好的maven項目引用仍是原來的jre,要修改過來,在執行完上面的步驟後,右擊項目名->Build Path->Configure Build Path->在library選項卡下選中引用的jre,而後remove掉便可,還要點擊右面的Add Library按鈕,選擇Jre System Library,後面按默認操做執行,next-finish,這樣原來建立的項目也更改過來了。

 

 

 

原文地址:

http://blog.csdn.net/shanliangliuxing/article/details/6982767

Eclipse上安裝maven插件時遇到了以下的錯誤 解決方案的引用地址:

http://v-vampires.iteye.com/blog/988290

 

什麼是Maven

Maven,鼎鼎大名,在今天以前,我對於它一直是處於一種"只聞其名不見其人"的狀態。之因此說"只聞其名",是由於Maven太有名了,它是Apache基金會的頂級項目,通常狀況下,被Apache看中的都是精品。之因此說"不見其人",是由於以前的工做中不須要使用到Maven,所以對Maven並不熟。

正巧,最近換了工做,新工做中項目是使用Maven構建的,這讓我必需要會使用Maven。所以,本篇文章就零開始對Maven進行一個學習,在我學習的過程當中,必然遇到不少問題,在思考、解決這些問題的同時,輸出一些文字,相信會對各位網友朋友們有幫助。

OK,那麼讓咱們開始吧。

 

Maven的做用是什麼

這是我遇到的第一個問題,甚至在看了一些Maven的資料以後,我仍是會有疑問,到底Maven是幹什麼用的?在繼續學習以及本身寫了例子以後,我有了必定的感悟,下面嘗試回答一下這個問題。首先,假如使用傳統的項目構建方式,可能會有這樣的困惑:

  1. 開發中,爲了保證編譯經過,咱們會處處去尋找jar包,當編譯經過了,運行的時候,卻發現"ClassNotFoundException",難道還差jar包?再去找找吧
  2. 每一個Java項目的目錄結構都沒有一個統一的標準,配置文件處處都是,單元測試代碼到底應該放在那裏也沒有一個權威的規範

所以,咱們就要用到Maven(使用Ant也能夠,不過編寫Ant的xml腳本比較麻煩)----一個項目管理工具。Maven主要作了兩件事:

  • 統一開發規範與工具
  • 統一管理jar包

下面咱們來對比一下,首先創建一個普通的Java工程,是這樣的:

這個咱們都很熟悉,src下建包寫代碼,那麼配置文件放在哪裏?單元測試代碼放在哪裏?沒有一個統一標準,更多時候都是開發者的自由發揮,每一個人有本身的風格,這並不十分適合團隊協做。接下來,看一下使用maven構建一個普通Java項目以後的目錄結構:

看到使用Maven構建的普通Java項目,對源代碼、單元測試代碼、資源乃至後續須要的文件都有專門的目錄規劃。

上面的最後有一個pom.xml,這是Maven的核心配置文件,pom稱爲Project Object Model(項目對象模型),它用於描述整個Maven項目,因此也稱爲Maven描述文件。

固然事情不會這麼簡單,接下來,繼續進入Maven的世界吧。

 

pom.xml

打開pom.xml,最基礎的是這樣的:

複製代碼
<project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.xrq.withmaven</groupId>
  <artifactId>withmaven</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build/>
</project>
複製代碼

由於這個配置文件是Maven的核心,所以有必要詳細解讀一下pom.xml,來先看一下上面的幾個:

一、modelVersion

  指定了當前Maven模型的版本號,對於Maven2和Maven3來講,它只能是4.0.0

二、groupId

  顧名思義,這個應該是公司名或是組織名。通常來講groupId是由三個部分組成,每一個部分之間以"."分隔,第一部分是項目用途,好比用於商業的就是"com",用於非營利性組織的就  是"org";第二部分是公司名,好比"tengxun"、"baidu"、"alibaba";第三部分是你的項目名

三、artifactId

  能夠認爲是Maven構建的項目名,好比你的項目中有子項目,就可使用"項目名-子項目名"的命名方式

四、version

  版本號,SNAPSHOT意爲快照,說明該項目還在開發中,是不穩定的版本。在Maven中很重要的一點是,groupId、artifactId、version三個元素生成了一個Maven項目的基本座標,這很是重要,我在使用和研究Maven的時候屢次感覺到了這點。

在上面的這些元素以外,還有一些元素,一樣羅列一下:

一、packing

  項目打包的類型,可使jar、war、rar、ear、pom,默認是jar

二、dependencies和dependency

  前者包含後者。前面說了,Maven的一個重要做用就是統一管理jar包,爲了一個項目能夠build或運行,項目中不可避免的,會依賴不少其餘的jar包,在Maven中,這些依賴就被稱爲dependency。

  說到這裏,就有一個本地倉庫遠程倉庫的概念了。官方下載的本地倉庫的配置在"%MAVEN_HOME%\conf\settings.xml"裏面,找一下"localRepository"就能夠了;MyEclipse默認的本地倉庫的地址在"{user.home}/.m2/repository"路徑下,一樣找一下"localRepository"就能夠找到MyEclipse默認的本地倉庫了。

  本地倉庫和遠程倉庫是這樣的,Maven工程首先會從本地倉庫中獲取jar包,當沒法獲取指定jar包時,本地倉庫會從遠程倉庫(中央倉庫)中下載jar包,並放入本地倉庫以備未來使用

  舉個例子,比方說個人項目中用到了MyBatis,那麼能夠這麼配置:

複製代碼
<dependencies>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.2.5</version>
    </dependency>
</dependencies>
複製代碼

  以前有說過groupId、artifactId、version惟一標識一個Maven項目,有了這三個元素,咱們就能夠去遠程倉庫下載MyBatis3.2.5.jar到本地倉庫了。回想咱們以前的作法,若是要MyBatis的jar包,發現沒有,而後去網上下載一個,須要另外的jar包,而後去網上下載一個,可是有了Maven,就方便多了,只須要配置jar包對應的dependency依賴,Maven會自動幫助咱們去遠程倉庫中下載jar包到本地倉庫中。

三、properties

  properties是用來定義一些配置屬性的,例如project.build.sourceEncoding(項目構建源碼編碼方式),能夠設置爲UTF-8,防止中文亂碼,也可定義相關構建版本號,便於往後統一升級。

四、build

  build表示與構建相關的配置,好比build下有finalName,表示的就是最終構建以後的名稱。

 

Maven工程目錄結構

回到上面那張圖:

接着解釋一下Maven的目錄結構:

  • main目錄下是項目的主要代碼,test目錄下存放測試相關的代碼
  • 編譯輸出後的代碼會放在target目錄下
  • src/main/java下存放Java代碼,src/main/resources下存放配置文件
  • 這裏沒有webapp,Web項目會有webapp目錄,webapp下存放Web應用相關代碼
  • pom.xml是Maven項目的配置文件

 

Maven環境配置

經常使用的開發工具Idea、MyEclipse裏面都已經集成了Maven了,不過最好是從官網下一個配置到本身電腦裏,開發工具裏的可能有少量的Bug。

首先去Maven官網,下載Maven的包,地址爲http://maven.apache.org/download.cgi,找到下面的部分,點擊就能夠下載了:

下載完解壓,而後配置一下環境變量,和JDK的環境變量配置相似:

這樣配置完就能夠了,驗證一下,windows+r打開命令窗口,輸入"mvn --version",若是有下面的內容這表示Maven配置OK:

 

Maven入門使用常見問題

一、我從SVN上下載了一個以Maven構建的工程,下載完畢沒有jar包怎麼辦?

從資源庫上下載下來的Maven工程,是沒有jar包的,此時能夠這麼作:

(1)刪除Maven工程,可是刪除的時候不要刪除本地工程裏面的Maven工程,只刪除MyEclipse中的Maven工程

(2)右鍵Import->Maven4MyEclipse->Existing Maven Projects,導入你的Maven工程,此時MyEclipse在構建工程的時候,假如你的本地倉庫中沒有dependcy中的jar包,便會去遠程倉庫下載jar包到本地倉庫中。你的工程導入完畢以後,Library應該是這樣的:

二、從新下載Maven工程所依賴的jar包、導入jar包都須要觸發Maven工程的build workspace,那麼如何才能觸發Maven工程的build workspace?

找到一個pom.xml,隨便修改一下,加一個空格、減一個空格什麼的,ctrl+s保存一下,便會觸發Maven工程的build workspace了

三、本地倉庫的目錄結構是什麼樣子的?

groupId、artifactId、version肯定一個惟一的Maven,比方說我有一個mybatis的dependcy:

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId> 
    <version>3.2.5</version>
</dependency>

那麼mybatis的jar包應該在%Maven倉庫地址%\org\mybatis\mybatis\3.2.5\這一路徑下,看到了吧,先groupId,再mybatis,最後version,每一個名字都是一個文件夾的名字

四、有些jar包在dependcy裏面有配置,Import了Maven工程,下載完工程所依賴的jar包以後,發現本地倉庫裏面卻沒有,怎麼辦?

多是原先下載jar包的時候出了什麼問題,從artifactId目錄開始刪除如下的全部文件/文件夾,而後觸發一次Maven工程的build workspace就能夠了

五、本地倉庫中肯定已經有jar包了,工程裏面卻報錯,說找不到jar包,該怎麼辦?

應該有不少解決辦法,目前解決的一種辦法是,MyEclipse->Window->Preferences->搜索Maven->User Settings,Update Settings和Reindex點一下就行了。另外,能夠嘗試一下把本地Maven倉庫內的jar包刪除一下,而後從新build workspace,可能也能夠。

 

==================================================================================

我不能保證寫的每一個地方都是對的,可是至少能保證不復制、不黏貼,保證每一句話、每一行代碼都通過了認真的推敲、仔細的斟酌。每一篇文章的背後,但願都能看到本身對於技術、對於生活的態度。

我相信喬布斯說的,只有那些瘋狂到認爲本身能夠改變世界的人才能真正地改變世界。面對壓力,我能夠挑燈夜戰、不眠不休;面對困難,我願意迎難而上、永不退縮。

其實我想說的是,我只是一個程序員,這就是我如今純粹人生的所有。=================================================================
相關文章
相關標籤/搜索