Apache Maven是一个采用Java编写的开源软件项目管理和综合工具。基于项目对象模型(POM:project object model)的概念来管理项目,从一个中心资料库管理项目的构建,报告和文件。所有的项目配置信息都被定义在一个叫做POM.xml的配置文件中,通过该文件Maven可以管理项目的整个声明周期,包括编译、构建、测试、发布、报告等等。概括地说,Maven简化和标准化了项目建设过程,包括编译,分配,文档,团队协作和其他任务的无缝连接。,增加可重用性并负责建立相关的任务,而且Maven本身还支持多种插件,可以方便更灵活的控制项目。目前Apache下绝大多数项目都已经采用Maven进行管理。
Maven提供了开发人员的方式来管理下面:
-
Builds
-
Documentation
-
Reporting
-
Dependencies
-
SCMs
-
Releases
-
Distribution
-
mailing list
Maven 使用约定优于配置,这意味着开发者不需要做创建构建项目过程本身,Maven自身规定了一套项目目录结构,而不至于因为不同的开发人员构建出不一样的项目结构。
Item | 默认 |
---|---|
source code | ${basedir}/src/main/java |
resources | ${basedir}/src/main/resources |
Tests | ${basedir}/target/classes |
Complied byte code | ${basedir}/src/test |
distributable JAR | ${basedir}/target |