00:00
好,接下来呢,我们再来看一下compel这个范围引入的依赖,它从这个时间的角度如何去衡量。那么时间的角度呢,我们就分成两个阶段啊,一个是你开发的时候,一个是我们部署到服务器的时候。什么叫开发的时候能不能用呢?就是说这个事儿呢,其实在我们现在哈,不在idea里边,这个体现的不明显,说在开发的时候能用是这个意思,当我们在idea里边去开发的时候啊,呃,以这个以以以这个某一个范围导入的这个依赖呢,这个idea能不能能不能根据他呢去给这个提示。啊,就是你点能不能点儿出来,能点出来就是有效的。那你要这么说的话,你这个开发的时候,你这个依赖只要导进来应该都是有效的呀,是你看这几个,我们现在列出来的这几个,它开发的时候都是有效的。哎,那有没有这个特例呢?你看这个runtime呢,它就会有一点这个区别哈,它相当于是什么呢?就类似于我们是这样的,这个我们JDBC呢,它定义的是标准哈,然后呢,数据库厂厂商呢,给的是具体的实现,我们管这个实现呢叫数据库驱动。
01:13
然后呢,这个开发的时候呢,我们有这个标准就够了啊,用不着这个具体实现,当我们具体运行的时候,才用到这个具体实现啊,这个时候它就是这个runtime这个范围的。哎,所以这个时候呢,其实我们现在compile provided呢,他们在开发的时候都是有效的啊,这个我们就不用再特意呢去证明了。哎,这个时候你会发现呢,这个嗯。只要你是在这个目录下边是有效的啊,这个开发过程就代表它是有效的啊,这个开发这个这个地方不用再特殊的再去去多说什么,现在关键的呢,是说这个部分哈。我们部署到服务器的时候,有没有什么叫部署到服务器的时候有没有,就是说以我们这个最典型的哈,以我们这个外部工程打蜡包为例。
02:05
你呢,以这个test的范围。哎,或者是恐范围哈,引入的这个依赖会不会参与这个打包啊,会不会参与打包,你要是参与打包的话,那么你这个时候呢,就是说明啊,你会跟着袜包一起部署到服务器上啊,你会跟着袜包,你都已经放到袜包里边的嘛,我们放到服务器上,肯定是把袜包放到服务器上,所以说你放到袜包里边儿就说明你参与服务器部署。哎,就说明呢,你这个事儿,你对服务器部署呢是有效的啊,哎,如果说你看外包里边如果没有的话,那说明你就不参与部署,哎,所以这时候我们打个外包的话,咱就知道了,哎呃,现在呢,就是说看一下啊。我们以comp范围引入的这个依赖啊,以comp范围引入的依赖,这不就是我们第一个Java工程嘛,哎,PRO01V Java,我们看一下这个外部工程打包以后啊,这个第一个Java工程对应的架包啊,它会不会在我们这个瓦包里边。
03:08
也就是说我们现在呢,来执行一下这个打包的命令,哎,还是为了严谨呢,我们把以前的构建结果给清理掉啊,然后再重新打包。好嘞,构建成功啊打包我们看一下这个打包的结果。哎,他给他目录下边这是我们的袜包,这个呢,就是外包的解压目录,所以说我们就不用再专门再另外再去对他解压了啊,我们直接看这个目录就行了。哎,有没有呢?要看web infer目录下边的Li目录,这时候看有没有这个JA包,这就很明显,诶PRO01没有Java。这就是我们依赖的这个compare范围的这个价报哈,在这儿我们就看到了。诶。那么。
04:02
这里边儿呢,我们就证明哈,Comp范围,以compare范围呢,引入的这个依赖啊,它呢。会参与到我们在服务器上面的部署。啊,会参与部署,所以说呢,其实你看啊,总总总,呃,这个综合来讲。它这个对compare范围的依赖,对所有的目录都有效啊,然后呢,也要参与到我们这个服务器端的这个部署。所以说呢,这个其实什么样的依赖啊,会是用我们compel的范围呢,这就很明显了,哎,就是你这个主体的功能里边需要用到的。凡是主体功能运行的时候需要用到的东西啊,它就都是compare范围的,这里边儿包括呢,像我们现在举例子,这个自己开发的,自己开发的另外一个工程啊,然后还有包括我们依赖的第三方的框架,第三方的库,这一类呢,都属于我们主体业务功能需要用到的,这个时候就都是comp范围的。
05:02
99%啊,都是范围的。绝大部分啊,依赖都是这个范围的。这样的话,我们compile范围啊,我们就知道它是什么意思了。
我来说两句