00:00
好的,哎,接下来呢,我们还是回到我们的作战地图啊,我们看一下,刚才我们去准备好的是这个M核心程序啊,是这个东西,然后呢,下一步呢,我们这个VI呢,咱们就想,哎,开始咱们来用一用。那么这个使用微在用的过程中呢,去学习啊,微里边它相关的命令学习这个啊,微的相关的理论知识,这个时候呢,我们先在命令行里边来学,在命令行里边对M文先有一个总体的认识,然后再进入idea的图形化界面再去学啊。那关于的命令行环境下边的这个使用。哎,咱们在这儿呢,相当于是分成了这么十个实验啊,哎,咱们不要着急啊,你也不用需要不需要有负担,我带着你呢,咱们,呃,细水长流的啊,一个一个的慢慢看,第一个呢,是根据坐标创建慰问工程。坐标你现在还不知道什么意思,那这个时候就是说呢,相当于是我先带着你呢,咱们先来建第一个main问工程啊,是在命令行的环境下边来创建,这里边儿就涉及到了我们这么一个概念,就是坐标。
01:10
很明显这是一个从数学当中呢借鉴过来的概念,在数学当中啊,我们使用XYZ呢,这三个向量,就可以在空间当中呢,唯一的定位到一个点,哎,这个点啊,你看这个对应的这个坐标。应该是这么。应该是立体的哈,啊空间坐标哎,这个点啊,对应到映射到这个坐标轴上,它的坐标就是这三个值。哎,那么这个时候XYZ呢,我们就把它称之为是三个向量。然后呢,对应到我们的ma当中呢,也是用三个向量,哎,来唯一的定位一个ma的工程,这三个向量呢,分别叫group ID artifact ID和version。啊,Group ID呢,它代表一个公司或组织的,呃,域名啊,其实相当于是公司组织域名的一个倒序啊,相当于是这个用它来表示一个公司或者一个组织,然后呢,Artifact ID呢,就是我们这个工程。
02:11
哎,然后version呢,就是版本号。这三个向量呢,我们说哈,它是由大到小的范围啊,越来越精确,这样的方式呢,来找到一个面问工程的啊,你想这个我们在茫茫人海当中呢,先去找到一个公司,这个公司呢,它里边可能会诶有好多个项目,这项目的话就相当于是我们这artifact。然后呢,这个项目呢,可能它有好多个不同的版本,哎,这时候就是这个version,哎,就是这样越来越精确啊,范围呢,由大到小越来越精确,一级一级的找到我们一个具体的灭门工程。当然了,这里边儿其实有一个小小的一个点哈,我们需要说一下,就是说这个你觉得项目和工程呢,他们有没有区别呢?这俩概念有没有区别哈。
03:04
啊,如果你是像我说的呢,前面就是有这个Java web的这个基础哈,那么这个时候你可能觉得我们建一个项目就是建一个工程,好像这时候我们觉得没有什么区别哈,但其实呢,我们说项目呢,可能会包含很多个工程,这一点呢,在分布式架构环境下边啊,在这样分布式架构的项目下边特别的明显,哎,我们老说立项,立项啊开发的这个项目项目组,哎,那就是说我们说有一个什么功能要完成啊,我们要开发一个电商的项目,我们要开发一个啊互联网金融的项目啊,我们想要去开发一个互联网打车,互联网点外卖的项目,哎,这个时候这个级别呢叫项目。项目为了完成它的功能,我们可能要拆分很多模块,每一个模块是一个工程,所以说这个时候呢,其实很有可能呀,一个项目里边包含很多个工程。哎,那么。所以说呢,我们这哈这个artifact ID其实呢,哎,它更偏向于是项目里边的一个模块,除非你没有拆分啊,除非你这项目就一个模块,或者说项目就一个工程,那就不分了,如果项目里边有很多个的话,那么这个时候呢,这个artifact ID啊,更倾向于是这个表示它里边的一个项目里边的一个模块。
04:18
那这个时候呢,从公司呢,到我们模块之间呢,就就隔着一层啊,这个逻辑关系呢,是公司里边它一定是允许一个公司建很多个项目啊,然后项目里边呢,可以有很多个工程。Group ID呢,来表示公司了啊,Artifact ID来表示工程了,那怎么表示项目呢?这一层这个概念这一层没地儿放了呀,哎,所以说呢,我们往往呢,啊,在这儿我们说哈,Group ID里边呢,它一般来说哈,有前半截儿是公司或者组织域名的倒序,后边呢,也通翅加上这个项目的名称,你比如说呢。Com点艾特硅谷点妹们相当于是什么意思呢?颠倒过来啊,这个正过来的话,它不就是哎。
05:07
它不就是这个ma点艾特硅谷点com,你看这是一级域名,这是二级域名,它不就相当于三级域名嘛啊,所以说公司你做的某一个项目,不就相当于是一个公司域名里边的三级域名嘛,啊,就是大概是这么个意思啊,所以说如果我们觉得项目这一层的概念没地儿放的话,就是把它放到group ID的最后的这个地方了啊,所以说这个时候呢,Group ID呢,往往也可以是在一个公司里边去找到某一个具体的项目,Artifact ID呢是一个具体的模块,Version呢是具体的一个版本。哎,通过这三个向量,我们就可以在ma的仓库当中呢,唯一的定位到一个加包啊,我把这个唯一呢也给它去加一个。啊,加一个这个重点的标识。就如同是在我们Java工程当中使用全类名啊,作为我们类的唯一标识,我们在微的工程当中呢,也是使用坐标啊,作为它唯一的标识。
06:10
哎,举一个例子,我们接下来呢,来创建这么一个慰问工程啊,说这个group ID就是它啊,Artifact ID是它啊,这个时候它呢,作为我们第一个工程,哎,然后呢,这个version1.0。杠snapshot哎,1.0好理解啊,这个后边干嘛又加个snapshot呢,这个表示是快照的意思啊啊,当然了,这个其实呢,要是我自己去写这版本号的话,可能我也懒得写这个snapho啊,这个后边的话,我们在命令,命令里边呢,它会协助我们去呃生成这个版本号,一会儿我们会看到哈。哎,就是说呢,我们得先去了解一下坐标的这个概念。
我来说两句