什麼是maven
Maven這個單詞來自於意第緒語,意爲知識的積累,最早在Jakata Turbine項目中它開始被用來試圖簡化構建過程。
當時有很多項目,它們的Ant build文件僅有細微的差別,而JAR文件都由CVS來維護。
於是Maven創始者開始了Maven這個項目,該項目的清晰定義包括,
一種很方便的發佈項目信息的方式,以及一種在多個項目中共享JAR的方式。[百度百科]
maven的特點
Maven 是爲 Java™ 開發人員提供的一個極爲優秀的構建工具,您也可以使用它來管理您的項目生命週期。
作爲一個生命週期管理工具,Maven 是基於階段操作的,而不像 Ant 是基於 “任務” 構建的。
Maven 完成項目生命週期的所有階段,包括驗證、代碼生成、編譯、測試、打包、集成測試、安裝、部署、以及項目網站創建和部署。[ibm官網]
maven的組成結構
maven中的重要概念
Maven項目通過項目對象模型(Project Object Model,POM)來進行配置。
主要描述了項目:包括配置文件;開發者需要遵循的規則,缺陷管理系統,組織和licenses,項目的url,項目的依賴性,以及其他所有的項目相關因素。
項目對象模型存儲在命名爲 pom.xml 的文件中。
以下是一個簡單的示例
<project>
<!-- model version is always 4.0.0 for Maven 2.x POMs -->
<modelVersion>4.0.0</modelVersion>
<!-- project coordinates, i.e. a group of values which
uniquely identify this project -->
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0</version>
<!-- library dependencies -->
<dependencies>
<dependency>
<!-- coordinates of the required library -->
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<!-- this dependency is only used for running and compiling tests -->
<scope>test</scope>
</dependency>
</dependencies>
</project>