00:00
还有一件事和我们打包有非常紧密的关系。就是关于我们spring boot工程。他的打包的问题。呃,我们想实现一个目标的一个效果。我们是希望将来这些spring boot工程打成架包以后,能够通过Java钢架的方式,哎,直接去启动这个spring为服务。哎,通过运行Java杠架啊这个,然后加包这个命令,直接启动我们spring BOO这个,那么你打的这个包呢,就是有要求的。哎,不是说我们常规的方式去打包,常规方式打包呢,这里边儿只有我们自己写的那一点点代码。这个夹包是很小的,那么我们必须按照spring boot它打包的方式去打包,然后这个夹包里边呢,包括它内置的to k,包括它spring布的环境,所有的这个炸包啊,但这个少说得有个几十兆啊,和和我们自己打的一个普通的包多少K啊,这个有非常大的这个差别。
01:11
此时要求这个假包中它包含。我们spring内置的他K包含我们spring boot和。的这个环境的,哎,家暴以及其他。其他我们依赖的这些个战报。嗯。那么怎么做到这一点,做到实现上面这个效果的关键?就是我们在这个spring BOO的工程里边啊,得配置我们的build,哎,在build里边呢,配置spring boot的那个插件。
02:05
什么部啊,它所在那个工程的。泡沫文件中。哎,里边配置了我们这个build标签,使用spring boot指定的插件,哎,来进行打包。啊,所以说在这得有这个东西。那么这个build是谁呢?哎,我们看一下啊,咱们学spring BOO的时候呢,我们这个hardwood里边有这样一块,有一个build标签,它里边呢配plugins plugins配plugin plugin里边呢是我们二点spring framework.good。哎,然后这是关键是spring啊,Spring的的一个插件。我们需要把这个拿过来。那么这个时候我们这个party呢,你看没有它的版本号啊,那么也就是说呢,它必须得有继承这个副工程,才知道我们这个插件的版本是什么。
03:13
要想使用上面的配置,必须让当前的工程去当前工程或这个负工程啊,继承我们的四分部分。那么这个我们就要看一下了。大家看啊,我们的。随便拿一个啊,比如说他。他呢,现在他继承的是我们的我们的自己的parent,我们这个parent。哎,这不是继承的main parent,那么我们的main parent呢?它是以这个import的方式导入spring cloudt的依赖,导入spring BOO的依赖啊,并没有去继承spring boot啊,那么这个时候呢,呃,有区别啊,这个和我们说呃,单纯的只是依赖的话啊,又参考它这儿你导入了我们就依赖不写版本都可以,但是但是现在这个插件里边呢,这个不行啊,插件里边要求我们这个负工程啊,他就必须得去继承一下,诶继承一下spring。
04:20
哎,就好比说我们这边啊,呃,继承start,我们得去继承它。要按说呢,在我们的member parent里边继承了以后,哎,下边的每一个工程呢,呃就呃都能够享受啊,这个这个。嗯。呃,如果我们。在member member parent做了这个继承,Member parent里边呢,我们加了这个build,加了这个插件,那么各个所有的子工程呢,就都享受我们这个build。
05:01
呃,可是问题是呢,我们现在这些个子工程呀,它并不是说都作为它的,呃,都是spring微服务,哎大家看呃,你像这个有瑞卡是啊,然后我们把这个式的选中哈。呃,这些是另外NTT和API呢,它俩不是,那么我们最好呢,就是精确一点,哪个微服务是哈,这时候咱们就在哪个子工程里边去加这个。哎,如果在,嗯,我们的这个负工程中,哎。加入我们这个build的这个配置,那么各个子工程就都能够。呃,就都不必,呃加入。这个build,哎,呃,但是呢,我们现在现在的这个情况是。有的子工程啊,并不是spring啊,这个微服务的这样的形式,哎,所以呃,我们做的精确一点啊,呃,哪个需要就给哪个加上,也就是我们现在哈,大家看就是这个有瑞卡。
06:21
嗯,MYR等等啊,我们选中的这些啊。哎,也就是下图所示的这个工程啊,哎,有了这个以后呢,我们把这些配置都给它这个加进去,然后呢,进行这个下边咱们就可以去做这个打包了,哎,当然这再说一句呢,这个打包的这个命令哈。
07:07
呃,咱们使用这个妹妹。肯定也是到哎呃,先清理再做这个安装,哎,然后呢,下一步是一个参数哈。哎,大家能不能看明白这个什么意思。杠D表示是我在这儿要加一个参数,哎,这个moment kiss.sk moment测试的跳过设置为true,就是说呢,让他跳过我们的测试,不做测试,我们要做测试的话,比如说我们之前写了很多这个g unit test那些都要去执行啊,那些执行的话,他可能就是可能因为现在环境参数变了,它执行不了啊,因为这些可能会构建失败,就打不了包了啊,所以说这个时候呢。我们让他去跳过这个测试啊。呃表示,呃先先清理。
08:05
哎,再安装,哎,而且呢,去跳过测试。啊,因为我们没问的生命周期的关系啊,你执行隐到它前面就会做package,所以说呢,在它的前边。在他的前边,哎,你像这个,比如说我们想要他的打包,哎,那么其实在隐私豆的过程当中呢,就已经有打包了,所以说我们就不需要额外再去执行这个package这个命令。
我来说两句