maven

maven

報告和文檔的項目管理工具軟件
Maven是基于項目對象模型(POM),可以通過一小段描述信息來管理項目的構建,報告和文檔的軟件項目管理工具。Maven除了以程序構建能力為特色之外,還提供高級項目管理工具。由于Maven的缺省構建規則有較高的可重用性,所以常常用兩三行Maven構建腳本就可以構建簡單的項目。由于Maven的面向項目的方法,許多ApacheJakarta項目發文時使用Maven,而且公司項目采用Maven的比例在持續增長。Maven這個單詞來自于意第緒語,意為知識的積累,最早在JakataTurbine項目中它開始被用來試圖簡化構建過程。當時有很多項目,它們的Antbuild文件僅有細微的差别,而JAR文件都由CVS來維護。于是Maven創始者開始了Maven這個項目,該項目的清晰定義包括,一種很方便的發布項目信息的方式,以及一種在多個項目中共享JAR的方式。
  • 中文名:
  • 外文名:Maven
  • 别名:
  • 本質:項目對象模型
  • 分類:java
  • 定義:項目構建管理

介紹

Maven的本質是一個項目管理工具,将項目開發和管理過程抽象成一個項目對象模型(POM)。開發人員隻需做一些簡單的配置,就可以批量完成項目的構建、報告和文檔的生成工作。

如果你已經有十次輸入同樣的Anttargets來編譯你的代碼、jar或者war、生成javadocs,你一定會自問,是否有一個重複性更少卻能同樣完成該工作的方法。Maven便提供了這樣一種選擇,将你的注意力從作業層轉移到項目管理層。Maven項目已經能夠知道如何構建和捆綁代碼,運行測試,生成文檔并宿主項目網頁

Maven還提供了一套描述軟件構件和依賴的模型。采用groupId+artifactId+version的形式唯一确定一個構件,然後采用在pom文件中的dependency中描述其依賴的構件,并且依賴是可以傳遞的。在運行時根據構件的依賴描述生成一個依賴的樹形結構。并提供依賴同意構件不同版本的依賴監測工具,避免出現一個類有兩個版本導緻虛拟機加載類後出現不一緻的情況。最終達到整理整個系統依賴關系,使可重用的構件能被重用。

特點

Maven這個單詞來自于意第緒語,意為知識的積累,最早在JakataTurbine項目中它開始被用來試圖簡化構建過程。當時有很多項目,它們的Antbuild文件僅有細微的差别,而JAR文件都由CVS來維護。

于是Maven創始者開始了Maven這個項目,該項目的清晰定義包括,一種很方便的發布項目信息的方式,以及一種在多個項目中共享JAR的方式、Maven是一個項目管理工具,它包含了一個項目對象模型(ProjectObjectModel),一組标準集合,一個項目生命周期(ProjectLifecycle),一個依賴管理系統(DependencyManagementSystem),和用來運行定義在生命周期階段(phase)中插件(plugin)目标(goal)的邏輯。

當你使用Maven的時候,你用一個明确定義的項目對象模型來描述你的項目,然後Maven可以應用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)插件。Maven有一個生命周期,當你運行MVNinstall的時候被調用。這條命令告訴Maven執行一系列的有序的步驟,直到到達你指定的生命周期。遍曆生命周期旅途中的一個影響就是Maven運行了許多默認的插件目标,這些目标完成了像編譯和創建一JAR件這樣的工作。

此外,Maven能夠很方便的幫你管理項目報告,生成站點,管理JAR文件,等等。

相關詞條

相關搜索

其它詞條