开发者学堂课程【项目管理工具 Maven 学习:命令及版本】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/23/detail/467
命令及版本
内容介绍
一、Maven 仓库的基本概念
二、Maven 常用命令
三、Version
四、SNAPSHOT
五、何为坐标
一、Maven 仓库的基本概念
Maven 仓库是基于简单文件系统存储的,集中化管理 Java API 资源(构件)的一个服务。
仓库中的任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径。得益于 Maven 的坐标机制,任何 Maven 项目使用任何一个构件的方式都是完全相同的,Maven 可以在某个位置统一存储所有的 Maven 项目共享的构件,这个统一的位置就是仓库,项目构建完毕后生成的构件也可以安装或者部署到
仓库中,供其它项目使用。
对于 Maven 来说,仓库分为两类:本地仓库和远程仓库。
示例:
有一个默认的仓库,这个默认的仓库在.m2 里面的 repository 中的 junit。一般
况下会下载到这个默认仓库里面。
可以在这里面新建一个仓库位置,新建完以后就会下载到这个饮料仓库里面。
二、Maven常用命令:
三、version
version 是版本的标识号。每一个操作系统(或广义的讲,每一个软件)都有一个版本号。版本号能使用户了解所使用的操作系统是否为最新的版本以及它所提供的功能与设施。 每一个版本号可以分为主版本号与次版本号两部分。
根目录下的第一个子元素 ModelVersion 指定当前Pom模型的版本,对于 Maven
来说,它只能是 4.00。常量无需理会。
groupld 定义了项目属于哪个组,这个组往往和项目所在的组织和公司存在关联
比如: com bjsxt.crm
artifactld 定义了当前 Maven 项目在组中唯一的ID。
比如 crm-msg,crm-user
Version X.X.X里程碑比如:1.0.0-SNAPSHOT
第一个X 大版本 有重大变
第二个X 小版本修复bug,增加功能第三个X 更新
里程碑版本: SNAPSHOT (快照,开发版) alpha (内部测试) beta (公开测试ReleaseRC( 发布版) GA(正常版本)
可以使用 name 标签声明一个对于用户更为友好的项目名称,虽然不是必须的,但还是推荐为每个 Pom 声明 name,以方便信息交流。
四、SNAPSHOT
快照技术,在backup时被广泛采用。很早就被应用到阵列和主机中,主要采
Copy on Write的算法,通常都是基于卷,在 block 级别进行处理。
五、何为坐标
关于坐标,首先会会想到平面几何,x,y!!任何一个坐标都能够唯一标识该平面中的一点。在实际生活中,将地址看成是一个坐标。省,市,县,街道,门牌号等
等。
Maven 的世界中拥有数量巨大的构件,也就是平时用的一些 jar,war 等文件。如果没有 Maven 只能去各个官方网站查找下载,去本地搜索,论坛上发帖询问。想要找一个 jar 包,大量的时间花费在搜索,浏览网页等工作上面。因为没有统一的
规范,所以无法自动化处理。
现在,Maven 定义了这样一组规则:世界上任何一个构件都可以使用 Maven 坐标唯一标识,Maven 坐标元素包括: groupld artifactldversionpackaing.classifier.Maven提供了一个中央仓库。该中央仓库
了世界上大部分流行的开源项目构件。
在开发自己的项目的时候,也需要为其定义适当的坐标,这是Maven强制要求的,
在这个基础上,其他 Maven 项目才能引用该项目生成的构件。