00:00
好,我们看下一个第五个实验。诶,我们呀,我们来让web工程呢,来依赖一个Java工程。啊,一个外部工程来依赖Java工程,这里边儿呢,就是说我们到这儿呢,来使用我们的这个依赖啊。呃,前边我们也依赖了,依赖的一个呢是g unit,一个是API啊,那现在呢,我们依赖一个我们自己开发的工程,也就是说让我们第二个工程去依赖一下第一个工程,第二个工程是外部工程,第一个工程是Java工程啊,去建立这样一个依赖。这里边首先呢,先大家先明确一个意思啊,说从来只有外部工程依赖Java工程,没有说反过来呢,让Java工程去依赖这个外部工程。就是你也不用去管他这个妹妹允允许不允许这么做啊,妹妹允许,我们也不允许啊。因为呢,我们说将来web工程呢,去运行的时候呢,Web工程呢,是一个挖包,这个web工程依赖的Java工程呢,就会变成这个瓦包呢,它里边依赖的架包。
01:08
是吧,这是一个合适的一个,哎,这是协调的一个结构,是你袜包里边儿有架包啊,这是第三方的这个库,你不可能说你在架包里边放一个把,是吧?啊这个时候就乱套了啊,所以说肯定呢,肯定是我们说啊,外部工程依赖Java工程啊,你Java工程呢,可以再依赖别的Java工程,但是没有说没有说Java工程再去依赖外部工程的啊,这个肯定不允许。那么然后呢,我们这个。最终呢,Java工程会变成价包,然后放在web工程的web infer下面的live目录下边,这个大家一定要有这样一个概念啊,说我们这个项目的部署,哎。以前呢,可能我们没有对这个部署哈,没有太明确的这个意识啊,就比较凝,现在呢,我们要更多的去体会,说到底什么是部署啊。
02:07
好,下边看一下我们怎么去做这个相应的操作。在我们第二个web工程的这个po沫X毛当中找到dependences标签,在dependence标签里边呢,给它配我们对第一个Java工程的这个依赖啊来。打开它,找到dependency标签。在这里边儿呢,我们来配置一下。说啊,我们说配置对我们Java工程的依赖,那就是还是需要写这个dependency标签啊,单数形式的dependency。在这儿呢,需要写的是我们第一个Java工程的坐标。
03:01
分别是group ID。Artifact ID。然后呢?好,那么有同学可能就是说细心同学可能会说啊,你这用不用写scope呢,写也行,不写也行啊,如果写的话,这写的是compel。而compile呢,就是SCO的默认值,所以说呢,写也行,不写也行。啊,我们在这儿呢,可以给它写上啊。说前面这加个注释。通过指定被依赖工程的坐标完成依赖啊,实现这个依赖效果,呃,至于说这comp什么意思,呃,Provided什么意思什么意思,这个后边我们会专门去说啊,现在先不用管它,完成了这个配置以后呢。
04:07
哎,我们在这个web工程当中呢,去编写一些这个测试的代码啊,就是说这个你依赖了以后,这个依赖的Java工程了,这个时候它能不能在外部工程里边去用到我们Java工程呢?哎,在一个工程里边能不能用到另外一个工程的类呢?这在以前要没有的话,只有我们普通的Java工程,这个是不管用的哈。啊,这个是不行的,现在我们完成了这个依赖以后,我们下边来看一下。在web工程当中编写测试代码啊,补充创建目录,就是说呢,在这个src下边去建这个test目录。它不是没有嘛,我们自己去建出来啊,下边呢去建这个。Java下边呢是com爱硅我妹就是我们这个程序的包。
05:07
啊,当然了,我们不可能这个以后正式用的时候是不可能这样一级一级的完全自己去建的哈,这个将来到矮idea里边以后就省省事多了啊,我们是先在命令行里边先学会,然后再进idea再看哎,图形化界面怎么去操作。那么好到下边呢啊呃,确认一下啊,我们外部工程确认它依赖了这就可以,那我们现在确实是有啊,这个没有问题。这不是有吗?然后呢,下边创建一个测试类,说把Java工程的calculator test的Java复制到我们这个目录下边就行。CTRLC。
06:03
哎,好嘞。啊,把它复制过来。然后呢,就在这个基础上,我们就可以来执行我们这个相关的明文命令啊,你比如说我们先去执行一下这个测试,哎,因为你想哈,在这个测试类里边呢。注意看啊,这个时候的话,这个测试类是在我们这个web工程里边的啊,从这能看到啊,这是这个web工程里边的,Web工程里边呢,你并没有去声明我们calculator这个类,哎,但是这个测试程序里边呢,居然可以用它,如果真的可以用它的话,那说明呢,确实是啊,我们依赖这个Java工程,能够把Java工程里边的类呢给导进来。我们回到我们这个,这个叫做。Space video。PRO02,哎,然后呢的。
07:09
诶,你看可以,这是我们在测试方法里边做的打印啊,能看到他看到这边这个测试没有失败,就说明是可以的,诶,呃。哎,测试操作中啊,提前会执行这个变异啊,测试成功就说明变异也是成功的,然后呢,我们可以来看一下这个打包的这个命令。嗯,就是打包以后,其实我们这儿想看什么呢?就是会想看到啊,他在他的力目录下边能够看到我们第一个Java工程的这个架包。我们是想看这个哈。Imv的package。好,我们运行完了,来看一下target下边找到袜包,袜包呢,这是袜包的解压目录,到袜包的解压目录下边看web英法,下边看力吧。
08:04
哎,我们真的看到了第一个Java工程所打的架包,说明呢,就实际运行的结果就证明确实是啊,你一个外部工程依赖的一个Java工程,将来呢,这个Java工程呢,会变成外部工程下边的一个啊,下边它导入的包。哎,甚至于说呢,我们可以来看一下啊,当前外部工程所依赖的架包的一个列表,诶,我们从这呢能看到哈。我们依赖了。我们依赖了unit,依赖了SOAPI,然后呢,也依赖了我们的这个,哎,这个Java工程,那么我们看这个依赖的列表里边啊,如果用命令列出来的话,是不是他们三个呢。
09:00
哎,这个是dependency冒list啊,等于说用到了我们dependency这个插件的list这个目标。哎,这个时候又有一些东西要下载啊,挡落挡落地的。很多人可能会觉得程序员啊,天天对着这个啊,命令行窗口这个我是调了哈,不然的话它是黑的,你天天对着这个小黑窗口,这个天天还看着还还挺兴奋啊啊就是很多人他会不理解啊,但是其实呢,我们说你真正这个全身心投入进去啊,你真正进入到这个世界里边以后,你会觉得这个东西简直太有趣了,是吧?啊你说如果你能够进入到这样的一个状态,你越学越开心的话,你就一定能学的特别好啊,但是呢,如果说你看着这个东西,你越学越心烦。啊,你这个东西越学越讨厌,哎,这个时候的话,其实呢,呃,这个越学这这个这个学习的动力是吧,就会越来越少了啊,你说你单纯的就是为了钱去学这个可能也并不是很持久啊。
10:11
好了,呃,前面这些都是下载哈,都可以不用看啊,那么我们列出的这个列表大家看the following files have been resolved,下边这些文件已经被解析了,哎,这个时候就是你看这个哈。这个这个我们刚才在依赖信息里边,呃,我们配置的那个依赖信息里边并没有它这个啥呢,Christ口。我们看到的是,呃,我们配过的是下边这三个,Serve API pro,零一,ViVi Java和指有,那么这个又是从哪来的呢?我们没有去配对它的依赖呀,它怎么就出现在我们列表里边的呢?这个呢,我们可以这么看。Depend,我们这回呢,让他呢,以这个形的结构呢,给我们列出来。诶,这么看的话,我就明就明明白了,原来呢是g unit呀,G unit这个酱包它依赖的我们harm chs扣。
11:10
哎,然后呢,这边有SO1片就就是他啊,这这这两个的话就就都是这个正常的,没有什么依赖别人的,但是我们unit依赖的他这个哈,是被依赖所给传递过来的啊,是它给传递过来。这个呢,其实就是后边我们要说的一个依赖的传递性啊,我们先这个初步的先来这个先看一下啊,先从实际操作的结果上面呢,先去体会和感受一下。哎,就是这是用的冒号list的是列表的方式啊,冒号tree呢,就是我们这个数形结构树形结构的方式呢,来查看一下。
我来说两句