Maven学习笔记001——认识Maven

 

Maven是开源、跨平台(Windows\Linux\Mac)主要服务于基于Java平台的自动化项目构建、依赖管理、报告和文档的软件项目管理工具

项目构建(Build)包括:项目的清理、编译、测试、生成文档、打包和部署的过程。Maven最大化地消除了构建的重复,抽象了构建生命周期,并且为绝大部分的构建任务提供了已实现的插件。

依赖管理(Dependency Management):Maven通过座标有序系统管理第三方构件(artifact)、类库(Jar文件)。Maven为全世界的Java开发者提供了一个免费的中央仓库,在其中几乎可以找到任何的流行的开源类库。只要定位了座标,Maven就能够帮我们自动下载。

       Maven包含了一个项目对象模型(POM,Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件目标的逻辑。

Maven能够很方便的帮你管理项目报告(项目描述、开发者列表、版本控制系统地址、许可证、缺陷管理系统地址等),测试报告静态分析报告源码版本日志报告生成站点管理JAR文件。

      无论是小型的开源类库项目,还是大型的企业级应用;无论是传统的瀑布式开发,还是流行的敏捷模式,maven都能大显身手。

 



Maven

Ant

标准构建文件

project.xml 和 maven.xml

build.xml

特性处理顺序

1.${maven.home}/bin/driver.properties

2.${project.home}/project.properties

3.${project.home}/build.properties

4.${user.home}/build.properties

5.通过 -D命令行选项定义的系统特性

最后一个定义起决定作用。

1.通过 -D命令行选项定义的系统特性

2.由 任务装入的特性

第一个定义最先被处理。

构建规则

构建规则更为动态(类似于编程语言);它们是基于 Jelly 的可执行 XML。

构建规则或多或少是静态的,除非使用<script>任务

扩展语言
  

插件是用 Jelly(XML)编写的。

插件是用 Java 语言编写的。

构建规则可扩展性

通过定义 <preGoal> 和 <postGoal> 使构建 goal 可扩展。

构建规则不易扩展;可通过使用 <script> 任务模拟 <preGoal> 和 <postGoal> 所起的作用。

 

Maven的书籍《Maven实战作     许晓斌 著

本书代码:http://www.juvenxu.com

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章