Maven(初篇)

1.简介

Maven是Apache的一个开源项目,主要服务基于Java的项目构建、依赖管理、项目信息管理。

2.构建

我们开发工作中除了编写源代码之外,还有不少时间花在了编译、运行单元测试、生成文档、打包和部署等烦琐的工作上,这些工作就是构建。

3.构建工具Maven

构建过程中的各个步骤,在企业开发必然会涉及,我们可以脑补一下在没有相关集成度较高的构建工具帮助下,自己去实现这些过程,会有多头疼,这些繁琐的步骤相信谁都不会喜欢。Maven就是一个优秀的构建工具,它让这一系列的工作,完全自动化,就像全自动的流水线一样,而你只需要简单的一条命令。
Maven是跨平台的,无论在Windows、Linux还是Mac上,你都可以使用同样的命令。
我们一直在避免重复,无论是设计、编码、文档、还有构建的重复。Maven消除了构建过程的重复,抽象了构建生命周期,并且为大部分的构建过程提供了插件实现,我们不需要定义过程,甚至不需要实现过程中的一些任务。像测试,我们不需要告诉Maven啥进候执行测试,我们只要按照Maven的约定写好测试用例,构建过程中,它会自动运行。
Maven的统一了我们项目的构建方式,可以降低我们的沟通和学习成本,利于标准化。

4.依赖管理

我们总是不可避免的用到许多开源的第三方类库,变成我们项目的依赖,并且越来越多。而由此带来的依赖版本冲突、臃肿等问题,解决起来也是相当的枯燥和麻烦。Maven通过定义一个坐标系统来精确定位每一个构件(artifact),也就是任何一个java类库,像jar文件。让混乱的依赖关系变得有秩序,方便管理和解决依赖问题。
Maven提供了一个免费的中央仓库,提供检索和下载服务,基本上可以找到所有的开源类库。

5.项目信息管理

Maven可以管理项目信息,如项目描述、开发者列表、版本控制系统地址、许可证、缺陷管理系统地址等,方便我们发布或者获取项目信息。还可以自动生成站点,基于一些已有的插件,可以获得项目文档、测试报告、静态分析报告、源码版本日志报告等信息。
Maven对项目目录结构、测试用例命名方式都有即定的规则,我们遵循这些成熟的规则,可以减少项目切换时额外的学习成本。

**约定大于配置**。

posted on 2019-04-01 01:33  流.云  阅读(97)  评论(0)    收藏  举报

导航