【Maven】Maven项目定位属性

一、梳理Maven工程GAVP属性

Maven工程相对之前的普通工程,多出一组gavp属性,之前的普通工程只需要指定项目名就行了,而Maven工程需要指定四个属性。gav需要我们在创建项目的时指定,p有默认值,后期通过配置文件修改。既然要填写的属性,我们先行了解下这组属性的含义!

Maven 中的 GAVP 是指 GroupId、ArtifactId、Version、Packaging 等四个属性的缩写,其中前三个是必要的,而 Packaging 属性为可选项。这四个属性主要为每个项目在maven仓库总做一个标识,类似人的《姓-名》。有了具体标识,方便maven软件对项目进行管理和互相引用!

什么是坐标?

  • Maven中的坐标是资源的唯一标识 , 通过该坐标可以唯一定位资源位置
  • 使用坐标来定义项目或引入项目中需要的依赖

image-20221130230134757

Maven坐标主要组成

  • groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
  • artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
  • version:定义当前项目版本号

如下图就是使用坐标表示一个项目:

image-20220616111031057

注意:

  • 上面所说的资源可以是插件、依赖、当前项目。
  • 我们的项目如果被其他的项目依赖时,也是需要坐标来引入的。

二、GAV遵循一下规则

1)GroupID 格式

ID指的是表示,Group指的是组,也就是说你这个Maven工程所属的组织的标识。

命名规则类似于包名。包名的命令规则:公司域名反写 + 包的作用,需要全部英文小写,见名知意。

GroupID格式为:com.{公司/BU }.业务线.\[子业务线],最多 4 级,层次越多就显得你更详细了,但是它只是一个组织标识,不用特别详细。

说明:{公司/BU} 例如:alibaba/taobao/tmall/aliexpress 等 BU 一级;子业务线可选。

正例:com.taobao.tddl 或 com.alibaba.sourcing.multilang 、com.atguigu.java


2)ArtifactID

类似于我们之前普通工程的项目,这个只要不重复就行了。

ArtifactID格式为:产品线名-模块名。语义不重复不遗漏,先到仓库中心去查证一下。

正例:tc-client / uic-api / tair-tool / bookstore


3)Version

同一个组织下的同一项目,在不同时期它的代码可能是不同的,因为我们代码会不断的迭代。如果没有Version的话,就无法区分不同时期的代码了。Version在阿里手册上推荐的是三层。

Version版本号格式推荐主版本号.次版本号.修订号,例如:1.0.0

1) 主版本号:当做了不兼容的 API 修改,或者增加了能改变产品方向的新功能。模块发生了变化,就算是减少了模块,也是需要修改主版本号。

2) 次版本号:当做了向下兼容的功能性新增(新增类、接口等)。

3) 修订号:修复 bug,没有修改方法签名的功能加强,保持 API 兼容性。

例如: 初始→1.0.0 修改bug → 1.0.1 功能调整 → 1.1.1等

这个是阿里推荐的命名方式,但并不是所有公司的命名方式。


4)Packaging

定义规则:

指示将项目打包为什么类型的文件,idea根据packaging值,识别maven项目类型!

packaging 属性为 jar(默认值),代表普通的Java工程,打包以后是 .jar 结尾的文件。

packaging 属性为 war,代表Java的web工程,打包以后 .war 结尾的文件,最后这个文件可以部署到Tomcat。

packaging 属性为 pom,代表不会打包,用来做继承的父工程。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值