maven,意第绪语的意思是知识的积累,最初是为了简化雅加达涡轮机项目中的构建过程。有几个项目,每个项目都有自己的Ant构建文件,它们都略有不同,JAR被检入到CVS中。我们希望有一种标准的方法来构建项目,对项目的组成有一个清晰的定义,一种发布项目信息的简单方法,以及在多个项目中共享JAR的方法。
其结果是一个工具,现在可以用来构建和管理任何基于Java的项目。我们希望我们已经创建了一些东西,使Java开发人员的日常工作更容易,并且通常有助于理解任何基于Java的项目。
Maven的主要目标是让开发人员在最短的时间内理解开发工作的完整状态。为了实现这一目标,Maven试图解决以下几个方面的问题:
虽然使用maven并不能消除对底层机制的了解,但maven确实提供了很多细节保护。
Maven允许项目使用其项目对象模型(POM)和一组由所有使用Maven的项目共享的插件进行构建,从而提供统一的构建系统。一旦你熟悉了一个Maven项目是如何构建的,你就会自动知道所有Maven项目是如何构建的,从而在尝试浏览许多项目时节省了你大量的时间。
Maven提供了大量有用的项目信息,这些信息部分来自POM,部分来自项目源。例如,Maven可以提供:
Maven的目标是为最佳实践开发收集当前的原则,并使向这个方向指导项目变得容易。
例如,单元测试的规范、执行和报告是使用maven的正常构建周期的一部分。当前的单元测试最佳实践用作指导原则:
Maven为Maven客户机更新安装提供了一种简单的方法,这样他们就可以利用对Maven本身所做的任何更改。
由于这个原因,从第三方或Maven本身安装新的或更新的插件变得微不足道。
关于Maven,您可能听说过以下一些事情:
当Maven做这些事情时,你可以在上面的“什么是Maven”中读到。“第节,这些并不是Maven的唯一特性,其目标也非常不同。
Maven确实鼓励最佳实践,但我们认识到,出于历史原因,某些项目可能不符合这些理想。虽然Maven的设计是灵活的,但在某种程度上,在这些情况下,以及不同项目的需求下,它不能在不损害目标完整性的情况下满足每一种情况。
如果您决定使用Maven,并且有一个不寻常的构建结构,您不能重新组织它,那么您可能必须忘记一些特性或Maven的使用。
原文地址:https://www.cnblogs.com/crelle/p/10333533.html