m2eclipse為eclipse環境提供了全面豐富的maven內建,主要功能如下:
建立和導入maven項目
管理依賴并與ecliplse的classpath內建
自動下載下傳依賴
自動解析依賴的sources與javadoc包
使用maven archetype建立項目
浏覽與搜尋遠端maven倉庫
從maven pom具體化一個項目
從scm倉庫簽出maven項目
自動适配嵌套的多子產品maven項目至eclipse
內建web tools projects(wtp)
內建subclipse
內建mylyn
可視化pom編輯
圖形化依賴分析
建立maven項目
create a simple project(skip archetype selection)
隻包含最基本的maven項目目錄結構
archetype catalog有4個:
maven-archetype-plugin内置的internal、本地倉庫的default local、m2eclipse下載下傳到倉庫索引中包含的nexus indexer,
以及所有這3個合并得到的all catalogs
一般來說,隻需要選擇internal,然後再選擇一個archetype(如maven-archetype-quick-start)
導入maven項目
導入本地項目
從scm倉庫導入項目(需要eclipse已經安裝了scm的eclipse插件,如subclipse,還需要m2eclipse的附屬元件
maven scm integration以及對應的scm handler,如內建subclipse的maven scm handler for subclipse
install or deploy an artifact to a maven repository:能讓使用者将任意的檔案安裝到maven的本地倉庫。如果該檔案沒有對應的pom,則需要為其定義maven坐标。
materialize maven projects:讓使用者導入第三方的maven項目,如junit
m2eclipse中的maven項目的結構
src/main/java,src/main/resources,src/test/java,src/test/resources都被自動轉換成了eclipse中的源碼檔案夾(source folder)
maven的依賴則通過eclipse庫(libraries)的方式引入,所有maven依賴都在一個名為maven dependencies的eclipse庫中。
需要注意的是:這些依賴檔案并沒有複制到eclipse工作區,隻是對maven本地倉庫的引用。
所有的源碼檔案夾和maven依賴都在eclipse項目的建構路徑(build path)中
當然使用者可以直接通路項目根目錄下的pom.xml檔案。此外,代碼目錄和資源目錄之外的其他目錄不會被轉換成eclipse的源碼檔案夾,
不會被加入到建構路徑中,但使用者還是可以在eclipse中通路它們。
注意:如果使用者更改了pom内容且導緻項目結構發生變化,m2eclipse可能無法自動識别,需要手工進行update project configuration
執行mvn指令
自定義mvn指令 maven build ...
通路maven倉庫
有了m2clipse,可以直接在eclipse中浏覽本地和遠端的maven倉庫,并且能夠基于這些倉庫的索引進行構件索引和java類搜尋。
倉庫視圖中包含了3類maven倉庫,分别為本地倉庫,全局倉庫,以及項目倉庫
全局倉庫預設為中央倉庫,但如果在settings.xml中設定了鏡像,就會自動變更為鏡像倉庫
如果目前maven項目的pom.xml中配置了其他倉庫,就會被自動加入到項目倉庫這一類中。
這些倉庫的資訊來源于使用者的settings.xml和工作區的maven項目的pom.xml檔案
m2eclipse不會真正的去存儲所有倉庫的内容,那樣需要消耗大量的磁盤及網絡帶寬。與nexus一樣,使用nexus-indexer索引倉庫内容的
資訊,以全局倉庫central為例,使用者在首次使用m2eclipse的倉庫浏覽及搜尋功能之前,需要建構該倉庫的索引。
一般情況下,建立本地倉庫的索引即可。
管理項目依賴
添加依賴
通過右鍵菜單選擇add dependency
輕按兩下pom.xml打開pom編輯器,使用m2eclipse的pom編輯器
直接編輯pom.xml
分析依賴
effective pom
任何一個項目的pom都至少繼承自maven内置的超級pom.
effective pom表示一個合并整個繼承結構所有資訊的pom
maven使用者可以直接從指令行獲得effective pom
mvn help:effective-pom
下載下傳依賴源碼
m2eclipse能夠自動下載下傳并使用依賴的源碼包,當你需要探究第三方開派依賴的細節,或者在調試應用程式的時候,這一特性非常有用。
但該功能的前提是依賴送出了相應的源碼包至maven倉庫