Maven入门详解以及Eclisp的集成
1、首先要安裝Maven到操作系統(tǒng)上
Maven的下載頁面:http://maven.apache.org/download.html
Maven跟Tomcat很像,下載下來后直接解壓在指定的目錄就安裝成功了,不過Maven比Tomcat多了一項環(huán)境變量配置
當前版本3.0.3。解壓縮下載的文件,?
首先創(chuàng)建一個系統(tǒng)變量M2HOME,變量值指向maven的解壓目錄,如圖所示:
將其中的bin目錄設(shè)置到windows Path環(huán)境變量中.就是把%M2HOME%\bin加到path系統(tǒng)變量中,如圖所示:
測試安裝是否成功:在命令行中輸入?
????mvn -version
如果安裝成功,輸出結(jié)果如下圖所示:
2、安裝eclipse的Maven插件?
安裝Eclipse的Maven插件M2Eclipse。?
M2Eclipse插件網(wǎng)址:http://m2eclipse.sonatype.org/installing-m2eclipse.html?
通過Eclipse在線更新網(wǎng)址:m2eclipse Core Update Site:?
http://m2eclipse.sonatype.org/sites/m2e
操作步驟跟安裝其他插件一樣
(
今天在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插件,網(wǎng)上查了查,解決方法如下:
?
啟動eclipse,點擊window——>preferences——>install/update——>available software sites,點擊Add
添加如下信息:
GEF??http://download.eclipse.org/tools/gef/updates/releases/
然后再重新安裝maven插件
)
?
注意,安裝好后還要跟本地解壓出來的Maven集成到一塊,有兩處需要做修改:
第一處:window-preferences,彈出窗口:
第二外:真正集成的動作:
3、啟動eclipse的時候會提示warning:找不到j(luò)dk啥的,解決辦法:?
在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/
4、提示??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", 點選界面左側(cè)的"J2SE-1.6",?
然后在右側(cè)點選"jdk1.6.0_06"。重啟Eclipse,一切OK了。?
問題原因就是系統(tǒng)裝了兩個JRE,應(yīng)該用JDK中的那個JRE.?
或者edit已經(jīng)存在的jre,然后點擊Add Extends JARS按鍵,添加jdk\lib\tools.jar文件,同樣可以解決。
不過這里也要注意一點,已經(jīng)創(chuàng)建好的maven項目引用還是原來的jre,要修改過來,在執(zhí)行完上面的步驟后,右擊項目名->Build Path->Configure Build Path->在library選項卡下選中引用的jre,然后remove掉即可,還要點擊右面的Add Library按鈕,選擇Jre System Library,后面按默認操作執(zhí)行,next-finish,這樣原來創(chuàng)建的項目也更改過來了。
?
?
?
原文地址:
http://blog.csdn.net/shanliangliuxing/article/details/6982767
Eclipse上安裝maven插件時遇到了如下的錯誤 解決方案的引用地址:
http://v-vampires.iteye.com/blog/988290
?
什么是Maven
Maven,鼎鼎大名,在今天之前,我對于它一直是處于一種"只聞其名不見其人"的狀態(tài)。之所以說"只聞其名",是因為Maven太有名了,它是Apache基金會的頂級項目,一般情況下,被Apache看中的都是精品。之所以說"不見其人",是因為之前的工作中不需要使用到Maven,因此對Maven并不熟。
正巧,最近換了工作,新工作中項目是使用Maven構(gòu)建的,這讓我必須要會使用Maven。因此,本篇文章就零開始對Maven進行一個學習,在我學習的過程中,必然遇到很多問題,在思考、解決這些問題的同時,輸出一些文字,相信會對各位網(wǎng)友朋友們有幫助。
OK,那么讓我們開始吧。
?
Maven的作用是什么
這是我遇到的第一個問題,甚至在看了一些Maven的資料之后,我還是會有疑問,到底Maven是干什么用的?在繼續(xù)學習以及自己寫了例子之后,我有了一定的感悟,下面嘗試回答一下這個問題。首先,假如使用傳統(tǒng)的項目構(gòu)建方式,可能會有這樣的困惑:
因此,我們就要用到Maven(使用Ant也可以,不過編寫Ant的xml腳本比較麻煩)----一個項目管理工具。Maven主要做了兩件事:
- 統(tǒng)一開發(fā)規(guī)范與工具
- 統(tǒng)一管理jar包
下面我們來對比一下,首先建立一個普通的Java工程,是這樣的:
這個我們都很熟悉,src下建包寫代碼,那么配置文件放在哪里?單元測試代碼放在哪里?沒有一個統(tǒng)一標準,更多時候都是開發(fā)者的自由發(fā)揮,每個人有自己的風格,這并不十分適合團隊協(xié)作。接下來,看一下使用maven構(gòu)建一個普通Java項目之后的目錄結(jié)構(gòu):
看到使用Maven構(gòu)建的普通Java項目,對源代碼、單元測試代碼、資源乃至后續(xù)需要的文件都有專門的目錄規(guī)劃。
上面的最后有一個pom.xml,這是Maven的核心配置文件,pom稱為Project Object Model(項目對象模型),它用于描述整個Maven項目,所以也稱為Maven描述文件。
當然事情不會這么簡單,接下來,繼續(xù)進入Maven的世界吧。
?
pom.xml
打開pom.xml,最基礎(chǔ)的是這樣的:
<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,來先看一下上面的幾個:
1、modelVersion
指定了當前Maven模型的版本號,對于Maven2和Maven3來說,它只能是4.0.0
2、groupId
顧名思義,這個應(yīng)該是公司名或是組織名。一般來說groupId是由三個部分組成,每個部分之間以"."分隔,第一部分是項目用途,比如用于商業(yè)的就是"com",用于非營利性組織的就 是"org";第二部分是公司名,比如"tengxun"、"baidu"、"alibaba";第三部分是你的項目名
3、artifactId
可以認為是Maven構(gòu)建的項目名,比如你的項目中有子項目,就可以使用"項目名-子項目名"的命名方式
4、version
版本號,SNAPSHOT意為快照,說明該項目還在開發(fā)中,是不穩(wěn)定的版本。在Maven中很重要的一點是,groupId、artifactId、version三個元素生成了一個Maven項目的基本坐標,這非常重要,我在使用和研究Maven的時候多次感受到了這點。
在上面的這些元素之外,還有一些元素,同樣羅列一下:
1、packing
項目打包的類型,可以使jar、war、rar、ear、pom,默認是jar
2、dependencies和dependency
前者包含后者。前面說了,Maven的一個重要作用就是統(tǒng)一管理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包,發(fā)現(xiàn)沒有,然后去網(wǎng)上下載一個,需要另外的jar包,然后去網(wǎng)上下載一個,但是有了Maven,就方便多了,只需要配置jar包對應(yīng)的dependency依賴,Maven會自動幫助我們?nèi)ミh程倉庫中下載jar包到本地倉庫中。
3、properties
properties是用來定義一些配置屬性的,例如project.build.sourceEncoding(項目構(gòu)建源碼編碼方式),可以設(shè)置為UTF-8,防止中文亂碼,也可定義相關(guān)構(gòu)建版本號,便于日后統(tǒng)一升級。
4、build
build表示與構(gòu)建相關(guān)的配置,比如build下有finalName,表示的就是最終構(gòu)建之后的名稱。
?
Maven工程目錄結(jié)構(gòu)
回到上面那張圖:
接著解釋一下Maven的目錄結(jié)構(gòu):
- main目錄下是項目的主要代碼,test目錄下存放測試相關(guān)的代碼
- 編譯輸出后的代碼會放在target目錄下
- src/main/java下存放Java代碼,src/main/resources下存放配置文件
- 這里沒有webapp,Web項目會有webapp目錄,webapp下存放Web應(yīng)用相關(guān)代碼
- pom.xml是Maven項目的配置文件
?
Maven環(huán)境配置
常用的開發(fā)工具Idea、MyEclipse里面都已經(jīng)集成了Maven了,不過最好是從官網(wǎng)下一個配置到自己電腦里,開發(fā)工具里的可能有少許的Bug。
首先去Maven官網(wǎng),下載Maven的包,地址為http://maven.apache.org/download.cgi,找到下面的部分,點擊就可以下載了:
下載完解壓,然后配置一下環(huán)境變量,和JDK的環(huán)境變量配置類似:
這樣配置完就可以了,驗證一下,windows+r打開命令窗口,輸入"mvn --version",如果有下面的內(nèi)容這表示Maven配置OK:
?
Maven入門使用常見問題
1、我從SVN上下載了一個以Maven構(gòu)建的工程,下載完畢沒有jar包怎么辦?
從資源庫上下載下來的Maven工程,是沒有jar包的,此時可以這么做:
(1)刪除Maven工程,但是刪除的時候不要刪除本地工程里面的Maven工程,只刪除MyEclipse中的Maven工程
(2)右鍵Import->Maven4MyEclipse->Existing Maven Projects,導入你的Maven工程,此時MyEclipse在構(gòu)建工程的時候,假如你的本地倉庫中沒有dependcy中的jar包,便會去遠程倉庫下載jar包到本地倉庫中。你的工程導入完畢之后,Library應(yīng)該是這樣的:
2、重新下載Maven工程所依賴的jar包、導入jar包都需要觸發(fā)Maven工程的build workspace,那么如何才能觸發(fā)Maven工程的build workspace?
找到一個pom.xml,隨便修改一下,加一個空格、減一個空格什么的,ctrl+s保存一下,便會觸發(fā)Maven工程的build workspace了
3、本地倉庫的目錄結(jié)構(gòu)是什么樣子的?
groupId、artifactId、version確定一個唯一的Maven,比方說我有一個mybatis的dependcy:
<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId> <version>3.2.5</version> </dependency>那么mybatis的jar包應(yīng)該在%Maven倉庫地址%\org\mybatis\mybatis\3.2.5\這一路徑下,看到了吧,先groupId,再mybatis,最后version,每個名字都是一個文件夾的名字
4、有些jar包在dependcy里面有配置,Import了Maven工程,下載完工程所依賴的jar包之后,發(fā)現(xiàn)本地倉庫里面卻沒有,怎么辦?
可能是原先下載jar包的時候出了什么問題,從artifactId目錄開始刪除以下的所有文件/文件夾,然后觸發(fā)一次Maven工程的build workspace就可以了
5、本地倉庫中確定已經(jīng)有jar包了,工程里面卻報錯,說找不到j(luò)ar包,該怎么辦?
應(yīng)該有很多解決辦法,目前解決的一種辦法是,MyEclipse->Window->Preferences->搜索Maven->User Settings,Update Settings和Reindex點一下就好了。另外,可以嘗試一下把本地Maven倉庫內(nèi)的jar包刪除一下,然后重新build workspace,可能也可以。
?
==================================================================================我不能保證寫的每個地方都是對的,但是至少能保證不復制、不黏貼,保證每一句話、每一行代碼都經(jīng)過了認真的推敲、仔細的斟酌。每一篇文章的背后,希望都能看到自己對于技術(shù)、對于生活的態(tài)度。
我相信喬布斯說的,只有那些瘋狂到認為自己可以改變世界的人才能真正地改變世界。面對壓力,我可以挑燈夜戰(zhàn)、不眠不休;面對困難,我愿意迎難而上、永不退縮。
其實我想說的是,我只是一個程序員,這就是我現(xiàn)在純粹人生的全部。
=================================================================
轉(zhuǎn)載于:https://www.cnblogs.com/yiye/p/5618402.html
總結(jié)
以上是生活随笔為你收集整理的Maven入门详解以及Eclisp的集成的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HttpClient中异步方法的同步调用
- 下一篇: 51nod 1237 最大公约数之和 V