00:00
好,下边我们要说呢,泡沫一共有四个层次,哎,这个可能大家会觉得很好奇,很奇怪,我们一直以来用的不都是这个泡沫吗?这怎么会有这么多层次呢啊?那你的意思是不是说呀,我们这些呢,都是子工程,然后呢,这个呀,是它的这个负工程是吧,是不是应该说这个是层次,那既然那即使是这样的话,它也只有这么两个层次,那这个时候我们跟大家说。泡沫之间呢,确实是存在着继承的关系,我们平常呢,有这个子工程的泡沫继承了父工程的泡沫。对吧,这是一层,还有呢,就是说如果你的一个泡沫呀,没有指定一个负工程的话,它其实呢,是有一个超级po作为它默认的副po。即使这个子宫程啊,它继承了它,那么你被你继承的这个它其实呢,也有默认的啊,这个复鹏。总之呢,就这么说吧,当你的一个泡沫哈,没有明确的声明他。
01:07
继承的谁,或者他的副泡沫是谁,那么他的负po沫就是我们这儿的这个超级poem。啊,就是它。就类似于我们Java里边的这个object,哎,是默认呢,是所有类的父类啊,就这个意思啊,是差不多的。那么这个超级泡沫,它起的是个什么作用呢?哎,我们以前呢,看到mini文在构建过程中有很多默认的设定叭,如说原文件放哪呀,测试的原文件放哪呀,构建的输出目录在哪呀等等啊,这个约定的目录结构是在哪定义的,其实就是在超级泡沫里边去定义的啊。呃,官网的介绍呢,是这个啊,我们说念翻译这个super poem是ma的默认poem,除非明确设置,否则所有poem都扩展super poem啊,这意味着super poem中指定的配置由您为项目创建的po继承啊,默认啊,就是我们me的,相当于就是ma的默认设置。
02:08
呃,那么超级泡沫里边定义了哪些东西呢?点这儿来看哈。这个是super con。就是他。哎,这是我们说来这儿呢,点这个哈,我们来看一下一个super里边有什么,大概看一下吧,啊你看跟标签还是project,然后呢,Model version对吧,这个是我们说的是固定的repository,哎,这不就是说我们定义的这个,呃,默认访问中央仓库就是因为这个。哎,Repository里边配,Repository里边这是中央仓库的一个地址。S也是这这是插件的这个地址啊,也是访问他。嗯。然后呢,就是说我们这个build,这是我们构建的这个标签,哎,你看我们自己哈,我们刚才说了,前面咱们也用过这个build标签了,这个build标签呢,就是说我们要对构建过程进行定制,那么其实呢,你的定制的过程啊,就是对我们副或者说超级泡沫里边这个build,它的所有已经配好的东西的基础上,你再做一些个你自己的定制,你没有配的,凡是你没有配的,全部都沿用的是我们这个,呃,超级泡沫里边这个build,你看这里边儿这个是我们的这个。
03:29
Directory指向target,这不是我们构建的输出的目录吗?Output directory,哎,就是这是编译的一个输出的目录,放到下边。Final name最终的一个名字啊,这不就是咱们说artifact横线加版本这个格式哪来的呢?就是在这儿定义的啊,你看这个前面我们说的很多东西在这儿都破案了。如果有看到这儿的这个同学是吧,你可以把破案打到公屏上,然后呢,你再翻过头,可以跑到这个第一集啊,那个地方去弹幕啊,说这个前边前面讲的东西,到后边会破案啊,这个你劝这个看不完的同学,劝他们能够去一直看到最后啊。
04:11
Test output directory,这不是测试的输出的目录就在这啊,然后呢,Source directory啊,这个不就是我们说源码存放的目录,S RC Java,哎,呃,这个scripts我们没有用到s RC test Java。哎,S RC resources RC test resources这些都在哪定义的,都就是在我们这个超级po里边去定义的啊,包括我们在这对插件的一个管理是吧?哎,呃,然后呢,这个地方有我们profile里边定义的profile啊,后边咱们还还会去讲这个profile是什么意思。啊,所以说我们能够明白呢,是这样的一个意思啊,就像我们说的,确实ma里边这些个约定式的啊,已经这个作为默认配置东西,就是在我们超级泡沫里边来进行这个配置的。
05:02
然后呢,还有就是说我们的副泡沫啊,那这个就是我们明确的指定了这个继承的关系啊,是我们当前的泡沫继承的副泡沫,副泡沫也可以再继承一个,就说你自己再让他继承一个你自己的,如果你没有明确指定它的负POM的话,那它就继承的是超级POM,这个时候你看这就有三层了。然后呢,从上往下所有的配置叠加在一起啊,叠加在一起。就是最终的这个有效form,也就是说什么呢?就是凡是在上边定义过的,如果你没有去改过,那么就继续,那么它就会诶叠加到这个有效泡沫当中,如果哪儿呢,被你给这个修改了,那么就按照你修改的叠加到这个下边来。明白吧,哎,就是说呢,呃,越是往下越往下啊,这个是就近原则嘛啊,离下边这个当前泡沫越近,它这个优先级就越高,如果你没有呃离得近的没有配,没有进行配置,没有修改的话,就沿用的是上面的啊,这个是负负泡沫的,一直追溯到我们的这个啊超级poem最终叠加到最后呢,就是这个有效poem。
06:13
就是说呢,所有的副泡沫里边,包括你自己定义的这个泡沫,所有的配置叠加叠加在一起,最终呢,真正按照这个泡沫去执行的这个就是有效泡沫。英文呢叫effective poem。哎,呃,那么这个有效POM我们怎么样能看到呢?这里边呢,有一个这个help这个插件,它有一个effective effective poem这么一个命令啊,这会儿咱们可以点开来看一看。哎。比如说就就就就他吧。Mvn help,冒号effective poem。咱们看看啊。有可能还有些东西要下载。哎,对,你看啊,就是。
07:01
这个插件要下载下来。还有很多别的也配套的也要下载下来。稍等他一下,这个effective poem呢,你想啊,它超级po沫的的一切都会有的,然后呢,我们的东西呢,哎,是对超级po沫的一个调整和覆盖,哎,所以说呢,这里边儿这个东西会非常多哈。给它挪到最前面去,我的天呐。Wo。这个我们这个命令窗口都已经放不下了啊,都已经放不下,那我们这儿来看一下这个已经准备好的一个例子。嗯。从这开始的,哎,Project是跟标签,然后model version,然后这个parent的这个设置,哎,然后呢,这边是一个。当前当前的model的一个名字啊,这是这个,这是工程的一个名字啊,Properties的这个配置depends啊,这是一个SSM整合的一个例子。
08:05
啊。哎,然后呢,你看这个这这些就是我们自己不会去配这些了,这就是超级泡沫里边的东西,所有的配置呢,全部都叠加在一起啊,这就是这个有效泡沫,哎这几个概念呢,大家还是去了解一下,最起码说呢,哎,提到这些概念的时候,你能够去听说过啊,知道他们之间的是一个什么样的关系。
我来说两句