Maven企业级应用(三)之坐标讲解

1、maven坐标简介

每个maven项目都有一个坐标
groupId + artifactId + version + packaging + classifier 这五个维度的坐标可以唯一确定一个依赖包,任何一个项目都是用这五个坐标唯一定位到一个发布包。

实际生产中用的最多的是groupId + artifactId + version这三个维度,后面两个维度99%的情况下用不到。

我们需要在pom.xml里配置需要的依赖的坐标,然后maven会自动从中央仓库下载后缓存到本地仓库里。

打包的时候,可以通过插件直接将本地仓库中的依赖打入jar包中,形成一个完整可用的发布包

由于我们自己的maven项目有时候也可能要发布到maven仓库中给别的项目使用,因此maven是强制性要求每个项目都要定义一个坐标。

2、企业级坐标设置

groupId:以公司或者组织的官网的域名倒序来开头,然后加上项目名称。

以百度公司为例,www.baidu.com,公司里任何一个项目的开头,就可以用com.baidu来打头。

以阿里巴巴为例,www.alibaba.com,公司里任何一个项目的开头,就是可以用com.alibaba来打头。

若所在公司没有域名,可以用公司名字的拼音的缩写,或者是公司名称的英文的简写,加上com来组成groupId。

artifactId:项目中的某个模块,或者某个服务

一般一个大项目最终会打成一个war包,里面可能由几十个工程组成,上百万行代码,发布到一个tomcat里面去。一个一个的模块,每个模块基本就是一个工程,最终各个工程会被打到一个war包里去而已。artifactId就是这个项目里的某个模块

如下所示前面为groupId,后面为artifactId对应的就是一个项目里面的各个模块。
com.baidu.oa,oa-organ,organ是缩写,organization
com.baidu.oa,oa-auth,auth是authorization
com.baidu.oa,oa-flow,flow就是流程的意思

若一个系统不是由多个模块组成,并且最终不是打成一个war包发布。而是由多个服务组成,此时artifactId就变成了服务的名称。

com.baidu.oa,oa-organ服务
com.baidu.oa,oa-auth服务
com.baidu.oa,oa-flow服务

version:这个工程的版本号,后面会讲到到底怎么用

packaging:这个工程的发布包打包方式,一般常用的就jar和war两种,java -cp执行一个jar包,war可以放到一个tomcat容器里去跑的web工程

classifier:很少用,定义某个工程的附属项目,比如hello-world工程的,hello-world-source工程,就是源码,可能是类似于hello-world-1.0-SNAPSHOT-source.jar这样的东西。

3、坐标的作用?

每一次一个工程写好了,都有版本,groupId+artifactId+version就成了这一次这个工程目前这个状态的唯一的标识和定位。

一个groupId+artifactId+version,就定位了这个项目某个时间点的一个特定版本的代码,也就是一个特定的版本的代码的jar包。

在maven世界里,特别是开源的那些项目。比如junit,spring,mybatis,都是在每个版本的代码开发好之后,设置好对应版本的坐标,主要是version。然后将这个版本的代码的jar包,上传到maven的中央仓库。供其他任何人来使用这个版本的代码的jar包。

因此在自己的maven项目里,我们就可以通过加上那个依赖的坐标,groupId+artifactId+version,去声明我要用那个依赖的哪个版本的代码的jar包。maven通过这个坐标唯一定位到那个项目的那个版本的代码的jar包。从中央仓库下载下来,给你放到本地仓库里去。

我们自己的maven项目为什么也要一个坐标,因为可能你写好了一个模块之后,你就会需要将这个版本的代码打成一个jar包,放到仓库里去,给公司里其他人去依赖和使用。只有你也有一个坐标,才能让别人唯一定位你的项目某个版本的代码的jar包,让maven下载了之后给别人用。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值