-

什么是Maven?

Maven是一个项目管理和理解工具。Maven为开发人员提供了一个完整的创建生命周期框架。开发团队几乎可以自动化项目的打下基础设施,因为Maven使用标准目录布局和默认创建生命周期。

在多个开发团队环境的情况下,Maven可以在很短的时间内根据标准设置工作方式。由于大多数项目设置都是简单和可重复使用的,Maven可以在创建报告,检查,创建和测试自动化设置时轻松开发开发人员的生命。

Maven为开发人员提供了管理以下方法:

总而言之,Maven简化了项目创建过程的标准化。它可以无缝地处理编译,分发,文档,团队协作和其他任务。Maven增加了可重用性,并且处理大部分创建相关任务。

Maven历史

Maven最初旨在简化雅加达涡轮项目的建设过程。有几个项目,每个项目包含稍微不同的ANT创建文件。JAR被检查到CVS。

Apache组织然后开发了可以一起创建多个项目的Maven,发布项目信息,部署项目,在多个项目中共享JAR并帮助团队协作。

Maven目标

Maven的主要目标是提供开发人员

Maven项目结构和内容在xml文件中声明,pom.xml称为项目对象模型(POM),它是整个Maven系统的基本单元。有关详细信息,请参阅Maven POM部分。

公约超过配置

Maven使用Convention over Configuration,这意味着开发人员不需要自己创建创建过程。

开发人员不必提及每一个配置细节。Maven为项目提供合理的默认行为。当创建Maven项目时,Maven将创建默认的项目结构。开发人员只需要相应地放置文件,并且他/她不需要在pom.xml中定义任何配置。

作为示例,下表显示了项目源代码文件,资源文件和其他配置的默认值。假设$ {basedir}表示项目位置:

项目 默认
源代码 $ {basedir} / src / main / java
资源 $ {basedir} / src / main / resources
测试 $ {basedir} / src / test
可分发JAR $ {basedir} / target
符合字节码 $ {basedir} / target / classes

为了创建项目,Maven为开发人员提供了提及生命周期目标和项目依赖关系的选项(依赖于Maven pluging功能和默认约定)。Maven插件维护了大量项目管理和创建相关任务。

开发人员可以创建任何给定的Maven项目,而无需了解个人插件的工作原理。有关详细信息,请参阅Maven插件部分。