Maven简介(引用)

 

Maven简介java

Maven是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来定义生命周期阶段(Phase)中插件(plugin)目标(gole)的逻辑。当你使用Maven的时候,你用一个明肯定义的项目对象模型来描述你的项目。程序员

Maven与ant对比服务器

Ant工具仅仅关注预处理,编译,打包,测试和分发,是一个构建工具。而Maven功能是Ant 的超集,属于项目生命周期管理工具不单单关注于构建阶段,Maven还包括生成报告,生成Web站点等等。框架

● Antmaven

Ant没有约定一个通常项目的目录结构,必须明确告诉ant到哪去找源代码等等信息。工具

Ant是程序化的,必要告诉它何时该作什么事情。测试

Ant没有生命周期,必须定义目标和目标之间的依赖,好比为每一个目标配置任务。.net

● Maven插件

Maven拥有约定,你遵照了约定Maven就知道去哪寻找源代码等等。xml

Maven是声明式的,只须要建立一个pom.xml,maven就知道该作什么事情。

Maven拥有一个生命周期,当运行Maven install,这条语句告诉Maven执行一系列步骤,这些步骤也是约定好的,不须要手动指定执行顺序。

Ant和Maven的选择不是一成不变的,好比你如今的构建生命周期须要高度可自定义,则Maven的固定生命周期就不太适用。

Maven的核心理念——约定优于配置

系统,类库,框架应该假定合理的默认值,而非要求提供没必要要的配置,配置虽然能够根据我的状况和喜爱定制,可是却严重影响了项目人员之间的协做沟通。

Maven的约定:

源代码:src/main/Java

资源文件:src/main/resource

测试代码:src/test

编译后的二进制文件:/target/classes

可分发的最终文件(.jar,.war,.ear):/target

(若是换成非约定优于配置的ant作以上的事情须要为每一个都配置目录,若是有特殊需求须要配置路径的,maven也支持手动配置,可是默认为以上约定)

Maven成功的核心缘由——项目配置统一接口

在之前,从版本服务器上检出两个项目,要想将它们打包成最终的可发布文件是很是困难的,由于你须要了解这两个项目是什么结构,分别须要发布什么东西,每一个东西放在什么位置,如今新的程序员不须要了解这些,只须要执行maven install就能方便构建。

Maven仓库

Maven 为全世界的 Java 开发者提供一个免费的中央仓库,在其中几乎能够找到任何的流行开源类库;并且还支持私服(本地服务器)仓库,已达到更快获取类库的速度。经过一些 Maven 的衍生工具(如 Nexus ),咱们还能对其进行快速地搜索。

Maven是基于插件的

Maven自己不作什么事情,几乎全部操做都是在插件上完成的,第一次执行命令会从中央服务器上下载命令执行插件来完成操做。

转载:http://blog.csdn.net/wangpeng047/article/details/10035583

相关文章
相关标签/搜索