00:00
刚才呢,高文德同学说呀,说这个坐标里的东西怎么来的呢?它是啊,从这个仓库中搜索,然后把那个坐标值拷贝到你的项目中的,啊是这么来做的。这么做是最方便,就是说拷贝啊拷贝。把这个坐标值呢,拿到之后拷贝到你的项目中就可以了啊。这个叫Co,这个这个呢叫做依赖,一会我们会讲啊,现在呢,这个就是说这个它叫做依赖的范围啊,依赖的范围一会我们来讲。这是加上依赖叫单元测试啊,单元测试刚才呢,我们用了命令呢,一个是。啊,命令用了好几个啊,这来说吧,一个是清理。然后编译,还有呢,编译测试,下面呢来执行这个测试代码test。这个mn test呢,它要做的功能是执行我们的测试代码,它执行的是。
01:04
我们的test Java目录下的程序要只用这个test hello ma只用里面的代码。现在我们来执行看一看啊。屏幕呢,听一下。Clean clean clear。先S吧,清屏啊,那现在我们要做的是编译了啊,编译完之后来进行测试,Mvn test要进行测试,因为刚才呢,我们已经执行了像上面的编译主程序,编译测试程序,下面来执行测试代码。要经测试执行命令是MVNT的回车。好比这么长啊,注意看build success。
02:00
说明我们刚才做这个命令是成功的,我们从那往上看啊,我们看首先开始叫扫描工程。把工程的资源都找到,然后开始build。第开始这个就是构建工程了,首先我们看上面这是不是有resource,还有编译的操作。看到这了吧,编译操作编译操作干什么呢?要编译我们的类文件,然后下面大家注意看,这是不是还有一个resource,还有一个编译。为什么出现这么多呢?你要注意的就是我们的每门的生命周期。它有。叫做清理、编译、测试。这些阶段。这些阶段在执行时候,当你在执行测试阶段时,他把前面阶段都执行。都执行,也就是说当你在执行某一个阶段时候,前面这个阶段都会执行一遍,都会执行一遍。
03:03
所以呢,我们在执行这个测试的时候。他要把前面这个清理编译,编译测试这些工作都会做一遍的,所以你在这个。执行结果中你会发现这是编译,编译我们的主程序,下面这两个编译呢,是编译你的测试程序的啊。再往下看这部分test。这开始是这个命令的结果,进行测试代码。测试的是哈。然后看看这是我们输出语句吧,刚才手工写的。小光写的,看代码吧,就是我们的测试代码呢。测试代码啊在这。是不是这句话吗?是不是它了,说明我们这个方法是不是自动执行了啊,自动执行了。再往下看。因为就一个方法嘛,执行完毕就结束了。
04:00
这句话呢是测试结果,是本次执行测试代码后的结果,这告诉你运行了一个测试,一个方法。然后呢,失败的是零个,错的是零个,跳过是零个,这个我不关心,总计划为时间,然后这是本次测试的结果,是测试了一个代码,就一个方法,没有失败的,没有错误的。啊,因为我们这块十加20是30啊,没问题,那我再来一个看看啊。我再来,再来一个,我这叫二。然后这也叫二,然后这个标志呢,我们把它换成一个。井号。那个井号了啊。那这块呢,我不叫30,我写个50肯定是不对的嘛,保存代码。按照之前的步骤的话,你是不是应该执行mvn test test compare,你得编译吗?那现在不用,你直接执行tag就行了,因为在你执行这个命令之前,我们之前是不是先经历这个编译代码的过程了,因为ma文在执行生命周期的时候,会把它前面的周期内容都先执行一遍嘛,所以当你执行MN态的时候,它就会进行编译代码嘛。
05:23
回车。好,看结果啊。从上往下来。我们刚才呢,执行的是从哪开始,从这开始啊。我们看首先还是扫描工程,然后再往下编译代码吗?这是编译一次,这是再编译,因为这个编译是编译是Java程序。这个编的是那个test啊,它不一样啊,再往下我们看这块是测试开始了吧。测试的是这一个类,第一个方法,第二个方法。
06:04
这和这都输出了吧,证明两个方是不是都执行了,然后告诉你测试两个,因为一个方法算一个,所以是二。一个失败了啊,一个失败了。然后这个错误数,这个没是没有计数,再往下失败了一个,然后哪个失败了呢?看这个。为什么失败了,因为你这个值期望是50,但它是30嘛,所以这叫失败啊,是这个。然后你看这啊,是不告诉你了,说期望是50,但是结果是30,这不符合这吗?告诉你这次失败了,所以代表没通过,你看我告诉你失败,再往后看,这抛出异常嘛。这是抛的异常啊,是一个色的抛的异常,再往下他告诉你了测试结果是这测试这个程序中有问题了,这有错误了,这不失败了一个吗?测试两个build失败,测试没通过,你代码呢,就没有执行通过啊。
07:02
这个测试结果呢,会生成一个报告,是放到了叫report这个目录中。那这呢是哪呢?他给的这个report中看一眼吧。在target,在这report在这儿呢,这就所谓的测试报告。就是把你测试结果呢,生成一个文件了,便于保留查看的,这叫测试报告。好,那到这呢,就给你演示了。Ma,它能够清理代码编译,然后进行测试,啊,测试失败了,下面的步骤根本就执行不了,你必须保证每个步骤都成功的,你才能一步步往下执行,那现在我要想让他这个测试是成功的,就把代码改正确了。改代码吧,改我们刚才这个代码啊。那么这块呢,那写一个30吧,30加二十五十吧,那这是不是就正确了,保存代码再来测试一下MVN泰特。
08:09
嗯,这回应该成功了,你看测试两个通过的没有失败的,也没有什么错误的,Build success成功好。这是测试通过了,测试通过之后呢,再来看看打包,打包这个呢,对大家来说是一个新的概念啊,拍就打包。打包是干什么,是把你项目中所涉及到的类呀,还有什么配置文件呢,把它形成一个压缩文件。我们在日常生活中不也这样的吗?比方说这个文件夹里边啊,有好多好多东西这么多。那我拷贝这个文件夹是不方便吗?那我把它压缩一下。这样的话,它就剩一个文件了嘛,这个文件又经过压缩,空间是不是也小嘛,这个文件拷贝,还有进行一个复制,它比较方便嘛,那在做项目的时候,最终这个项目做完了,也需要把它形成这样的一个文件,便于管理和使用和部署,所以我们这管这个叫打包啊叫打包。
09:11
把这个删掉了啊。那打包的话,他也就是一个压缩文件的制作过程。那这个打包怎么做呢,看着。打包超这样。MVN,你注意我的命令都在哪啊?这都在哈登木下呀,打包叫package。叫打包,这是手工来做的啊。Package,然后别误,Success成功了。成功结果是什么呢?在进行构建的时候用的是这个MVN,这个就是打包插件啊,打包的一个插件,就是说你执行这个打包的时候,是用的这个插件来完成打包这个工作的。打包的结果是,你看这叫build,这他把呢你的项目的类文件,还有各种配置文件,把它形成一个压缩文件,放到了他给的目录下面,这是你的项目名,你项目的版本点这。
10:16
这个是01MA,这个值来自于哪里?是你po文件中的这。项目的名字,那后面的。看一下啊,这个1.0no这个哪呢,是这的吗。这是你那个版本号吗?它们两个结合在一块,是你这个炸包的名字,这是没门的规则,就这样命名的。他的末项我们看有没有啊。Hello target,我们看看是不是有一个炸包啊,这个炸包就是压缩后的文件,你看里边有什么呢?它里边有的是你的这个类,然后在这呢吗?然后再看这是有一个配置文件,肯点tit啊,你注意看这里边是生成的这个文件啊,生成的文件这个我们就不用管了啊,这是生成出来的。
11:09
然后你注意看啊,在我们生成这个炸包的里边。这里啊。你看它有hello ma文对比的看。啊,对比着看啊对比看。太。它下面是不是有这么一个文件呢,你注意看是不是没有它。没有他没有他啊,也没有它对的class也没有。也就是说我们生成的这个。打包文件只包含的是src。慢。下面的所有内容。这个下面有类,还有配置文件吗?是慢目录下的东西,别的不管啊,是慢目录下的,这是规定啊,这个打包的结果,只是慢目录下的东西,这是打包了。
12:09
打包之后呢,会生成这样的一个压缩文件啊,就是点炸的,因为默认是点炸的,默认就是点炸啊。这是打包,这样的话,那你在项目中用这个就很方便了,用这个就很方便了,就是打包。还有最后一个呢,给他演示的叫打包啊,打包点上之后,最后一个按这个安装这个发布,这个我们一般用不了,一般也不用它,所以这个呢,我们不管它,就说这个安装,安装它干什么呢?是把你打包后的这个程序安装到你仓库里去。安装到仓库中,你的别的项目可以用它了。安装到仓库中,你在公司的其他部门或者其他项目中就可以用你安装到仓库中的这个炸包了,这个炸不见了,给别人用了,这叫安装,安装怎么用,看着啊。
13:03
在这执行MVN。因此到。在这过程中,还是要把整个项目从头到尾都执行一遍,你看在执行这个因此道的时候。这是不是还要先执行编译呀,编译编译编译,然后还要进行什么呢?往下来看,这还测试代码就走一遍吧,然后在这你看炸包打包是不也走一遍呢?Mn in install,这是安装。安装就是把你的。他给的下面这个栅安装到你的仓库中去,怎么叫仓库呢?啊。大一点能到最大,你看啊,这有这么一个操作,是说他要做的是你看这是你的work。
14:00
Mail reportery,这是你的目录,Come Beijing power的701MAIN版本号,你看,这是一个炸包。你在这儿啊,就这这也正说他这这更正确,说它更正确啊。你看它是放到你的maven work reporter to,北京power node,这是不是一个炸包?同时这个POM实际上面也拷过去了啊,他把这个炸包,哎,安装到你仓库里去了。那么这个炸包它的位置怎么确定的呢?是放在你仓库目录下了。后面的这些。com斜杠都是文件夹。这些文件夹是来自于你的坐标的。这是一个文件夹,但是。如果你的文,你的这个。格ID中如果是有点号的话。每一个点号就每一个点啊,前面后面这块都是一个独立的文件夹。在生成时就是。com文件夹,下面是北京power notde是这样。
15:02
就是每一个点它的前面后面都是一个独立文件夹,文件夹文件夹。看是不是这样吧。嗯,到你这个仓库main report,然后找谁呢?在仓库下面找的是你坐标。Com文件夹,北京power note文件夹。看看是不是看。北京抛洞有没有这儿呢?好,然后下面是谁呢?下面是你的这个。Artif ID是他看着啊,在这呢吧。在里边是版本号是这个。然后里边是你的炸包,在这儿呢?看到了吗?在这儿呢。同时也生成这么一个文件啊,这呢。点炸,诶,这就是生成出来那个炸包,那这个炸包因为是放在你的这个。
16:01
没问仓库里去了。那么他能不能引用的能这个项目安装到仓库中去了,这个仓库。比如说这个炸包,它不是有代表的这个坐标嘛,坐标,假如现在你有新项目了啊,新项目了,有新项目。这个项目呢,在这儿,比如这个项目呢,它叫做这个,嗯,比方说我们做的是一个CRMCM项目里边呢,你不也得有这个泡沫文件吗?也得有啊。加进来,然后它下面应该有一个SE,然后在这个poem中,我想要用我们之前写的那个hello maven,那怎么办?加一拉项,这加呗,加的话那就是这个底dependc,然后盖底dependc。然后这里要写什么呢?写坐标。我们刚才那个项目的坐标是什么?是不是这个。
17:00
拿过来。拿过来。我看啊。往这儿一粘。这就行了,它会按照你指定的这个目录到仓库中。到仓库中啊,到仓库中。好,到仓库中啊。去把它所对应的那个炸包就导到你项目中了,你就能用了,这样的话呢,你就可以在我们新的这个项目里边,也是我们刚才说的啊这个CRM。项目中,哎,来用这里边提供的各种类了,也能够用里边的ad的方法了,这样的话你这个功能就可以被复用了呗,这就是我们加到仓库中,在其他项目中就可使用仓库中的这个资源了。好,这是我们关于依赖的一个引用。
我来说两句