Maven实战学习笔记 1.Maven介绍
来源:互联网 发布:qq视频聊天录像软件 编辑:程序博客网 时间:2024/03/29 14:50
1.1 何为Maven
作为apache组织的一个十分成功的开源项目,Maven主要服务于基于java平台的项目构建,依赖管理和项目信息管理。
1.1.1 什么是构建
对源代码进行编译、单元测试、生成文档、打包和部署等工作,即为构建。
1.1.2 Maven是优秀的构建工具
Maven的用途之一就是服务于构建、它是一个非常强大的构建工具,能够帮我们自动化构建过程,从清理、编译、测试到生成报告,再到打包部署。
我们要做的是使用Maven配置好项目,然后输入简单的命令(如:maven clean install),Maven会帮我们处理那些繁琐的任务。
Maven是跨平台的,无论是在linux上或windows上都可以使用同样的命令。
Maven最大化的消除了构建的重复,抽象了构建申明周期,并且为绝大部分的构建任务提供了已实现的插件。最简单的例子就是测试,我们没必要
告诉Maven去测试,更不需要告诉Maven如何运行测试,只需要遵循Masuven的约定编写好测试用例,当我们运行构建的时候,这些测试便会自动运行。
Maven抽象了一个完成的构建生命周期模型,这个模型吸取了大量其他的构建脚本和构建工具的有点,总结了大量项目的实际需求。
Maven帮助我们标准化构建过程。在Maven前,十个项目可能有十种构建方式,有了maven之后,所有项目的构建命令都简单一致,节省了学习成本,
而且有利于促进项目团队的标准化。
综上所述,Maven作为一个构建工具,不仅能帮我们自动化构建,还能够抽象构建过程,提供构建任务实现;它跨平台,对外提供一致的接口,标准化构
建过程,这些足以使它成为优秀的、流行的构建工具。
1.1.3 Maven不仅仅是构建工具
Maven不仅是构建工具,还是一个依赖管理工具和项目信息管理的工具。它提供了中央仓库,能帮我们自动下载构件。
在这个开源的时代,几乎任何java应用都会应用第三方的开源类库,将类库通过依赖的方式导入到项目中来。随着依赖的增多,版本不一致、版本冲突、
依赖臃肿的问题就会接踵而来。手工解决这些问题十分枯燥的,幸运的是Maven提供了一个优秀的解决方案,它通过坐标系统准确的定位每一个构件(artifact),
也就是通过一组坐标Maven能够找到任何一个Java类库(如jar文件)。Maven给这个类库的世界引入了经纬,让他们变得有秩序,于是我们可以借助它来有序
地管理依赖,轻松地解决那些繁杂的依赖问题。
Maven还能帮我们管理原本分散在项目各个角落的项目信息,包括项目描述、开发者列表、版本控制系统地址、许可证、缺陷管理系统地址等,这些微小
的变化看起来不起眼,但却在不知不觉中节省了大量的寻找信息的时间。除了直接的项目信息,通过Maven自动生成的站点,以及一些已有的插件,我们还能
够轻松获取项目文档、测试报告、静态分析报告、源码版本日志报告等非常具有价值的项目信息。
Maven还为全世界java开发者提供了一个免费的中央仓库,在其中机会可以找到任何的流行的开源类库。通过一些Maven的衍生工具(如Nexus),我们
还能对其进行快速的搜溹。只要定位坐标,Maven就能帮我们自动下载,省去手工劳动。
使用Maven还能享受一个额外的好处,即Maven对于项目目录结构、测试用例命名方式都有既定的规则,只要尊徐这些成熟的规则,用于在项目间切换
的时候就免去了额外的学习成本,可以说是约定由于配置(Convenrion Over Configuration)。
1 0
- Maven实战学习笔记 1.Maven介绍
- 《Maven 实战》学习笔记
- Maven实战学习笔记1
- Maven实战学习笔记2
- 学习笔记——Maven实战(七)常用Maven插件介绍(上)
- 学习笔记——Maven实战(八)常用Maven插件介绍(下)
- Maven 学习笔记十八:Maven仓库(maven仓库介绍)
- 《Maven实战》学习笔记——1.概述及配置
- Maven实战学习笔记 2.Maven的安装与配置
- Maven实战学习笔记 3.Maven使用入门
- [Maven实战]-学习笔记(二):Maven安装及配置
- Maven实战学习笔记 3.Maven使用入门
- 《maven实战》学习笔记3——maven使用入门
- Maven实战学习笔记(仓库)
- 《Maven实战》学习笔记目录(转载)
- Maven实战学习笔记、6.仓库
- 《Maven实战》学习笔记目录(转载)
- maven实战笔记-1
- 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和
- strlen和sizeof的区别和联系
- 笔试题: 不使用中间变量求const字符串长度,即实现求字符串长度库函数strlen函数
- vector中erase用法注意事项
- 求数组长度sizeof
- Maven实战学习笔记 1.Maven介绍
- memset函数源码实现
- memset函数源码分析
- 强悍的 vim —— 删除空行、删除注释以及加注释解注释
- printf函数源码实现
- 【意外之中新发现——类图,序列图】
- TCP建立连接和拆除连接的过程
- 顺序表的静态存储
- 动态分区分配