idl 插件推荐在 idea 里快速查找 mayvan 依赖,打开 settings, 在 plugins 搜索 mayvan circ, 安装完成后关闭设置, 点击 tools 的 mayman threat。 在这里可以通过折耳包名称搜索 miwen 依赖,也可以通过类名搜索。我们首先使用折耳包搜索一下 masco 的依赖,选择 masco 的版本, 这个是复制成没问依赖格式,这个是复制成鬼斗格式,由于这个项目是没问项目,所以使用没问格式的。 接下来使用 class 搜索 may 文依赖,搜索一下 spring context 依赖,搜索 application context, 在这里需要注意一下大小写敏感 选择有 spring context 的这个选择以下版本号选择 memon。 我们可以看出这个插件的作用是在 a b n 里快速查找依赖,这样就可以节省在 menun 仓库查找依赖的时间。
粉丝321获赞6373

在日常工作中,一般公司的大部分依赖都是比较固定的,但是在开发过程中可能需要个别的依赖,那么你们是怎么查找的呢? 大部分人都是通过 man 为仓库进行查找,这样的话需要打开浏览器,那么有没有什么更好的办法呢?接下来看一下我的操作,这里咱们可以选择 tos 找到 man 为设置, 这边输入咱们想查找的依赖,比如这里我们要查找糊涂的工具包,这边输入糊涂,这里就可以看到他的所有的版本,然后咱们鼠标点击选择一个版本,这边有 mayn 和 greydo, 这里选择 mayn, 然后他提示已经复制,然后咱们将复制的文件直接粘到泡沫文件中就可以了。 并且呢在咱们搜索的时候可以看到对糊涂的介绍,还有他的对应的文档和源码,咱们点击文档之后,他会跳转到糊涂的官网,这还使用起来还是比较方便的。 这个我是怎么实现的呢?这边呢,我安装了一个 mai 文设置插件,咱们来看一眼,就是这款插件,这边我已经安装完成了,可以看到他是快速查找 mai 文依赖定制模糊查询的, 并且呢这边有他的一个快捷键,咱们也可以通过我刚才演示的方法通过兔子麦文瑟齿找到这个功能,但是需要注意的是这个功能啊需要联网。最后小伙伴们还有什么更好的办法吗?评论区讨论一下。

adiomen 依赖分析工具,这里有一个视力代码是操作 excel 的工程,引入了阿帕奇的 pua 和阿里巴巴的 ecexl 两个依赖文件。呃,我们运行工程可以发现汇报一个 no class deform 内找不到的一个异常,然后这里主要是因为驾包冲突了,导致,这样会找不到 类的错误。我们可以看到阿里巴巴一 z 一个要导入的是二点二点八,其中他引入的驾包我们可以分析一下,然后选点开 maven, 选择右键点 analyze dependencies 分析依赖。然后我们在这边可以看到 这有几个黄色的感叹号,表示有冲突的,我们下滑。可以发现 pua 三点一点一,零点一是有冲突的。 eceasel 中它使用了更高的三点一七版本,而我们引入的 pua 是 三点一零点一版本,根据最短路径原则会优先导入三点一零点一这个版本, 所以三在三点一零点一中,我们需要的类没有被引路进来,所以 ezx 要汇报,这样找不到一个类的错误,我们可以看 看到,在这边我们可以点击直接显示有冲突的类,可以看到这边,嗯,但是艾利亚自带的这个依赖分析工具没有这个直接 exclude 排除掉这个异常, 嗯,然后我们有一个插件可以帮助我们更好的去处理这个异常,他是 插件,我们可以在哈利根词的应用市场中打开。这边已经安装了 melvin kipper, 嗯,安装之后呢,我们可以看到在这个破木文件底下,这边就是,呃破木文件对应的 声明,然后这边有一个依赖的分析,这就是插件慢慢 hoppo 的界面,我们可以看到这边可以选择依赖冲突的选项,然后我们可以刷新一下这边就有三个表示有冲突的,我们可以看到 右边红色的部分,就是有冲突的部分啊,这个是我们需要解决的一个冲突,因为他在这个家包里面是包没有找,找到累的异常,我们选择,然后右点击右键, 再选择 exclude, 把这个排除掉之后我们再回到 taxi 页面,我们可以看到 meng kipper 这个插件帮我们直接生成了这个 exclusions 这样的一个排除这样的一段声明,然后我们去到 这边再重新需要软弱的一下这个版本,好,等他执行完成之后,我们可以再次运行。哎,稍等一下,好,他刷新完了,然后我们再次运行这段程序,因为这边是没有填写 呃文件名称的,可能是汇报另外一个异常,但是已经解决了依赖冲突的这样一个问题,我们看一下执行结果, 嗯,我们可以看到, 哦,是现在是报文件找不到这样一个异常,所以说主要是一共两个 功能吧,一个是依赖分析内置的呃,依赖分析,如果我们需要自己手动写的话,可以不用安装插件,然后 matanyope 可以帮我们更好的直接手,无需手动去。

哈喽哈喽,大家好,在程序员日常工作当中呢,经常会遇到依赖版本冲突的问题,大家是如何去解决的呢?今天我给大家分享两种方式去排查依赖冲突的问题。首先我们看一个场景,我这个是一个全新的项目, 它里面只依赖了一个 spring lp, 并且它的版本是五点三点二三,我们看一下它的紫依赖,紫依赖里面有 spring 刚辨识, 然后它的版本也是五点三点二三。那这时候呢,我通过直接或间接的方式去引入了一个 spring 港大,港大的 m d c, 并且它的版本是六点零点 九,我们实际想用到我们实际想用的一个 supreme being 是五点三,那么通过它 引入进来呢?我们看一下他的紫依赖,他的紫依赖里面实际上也有一个 spring 杠电死六点零点九, 他们两个版本是重涂了,对吧?我们到底他最后变异的时候到底是使用哪个版本呢?嗯,首先我们去排查,我们去排查的时候可以用到第一种方式,就是一个命令的方式,使用 may 的命令,然后去打出来他的最终的一个依赖素, 我们可以使用 mvn, 然后底喷,底喷的洗,然后 trip, 最终我们可以看到它的一个依赖数啊,它的一个一个依赖数,我们看到里面有个 spring, 他最终打出来的版本是一个六点零点九的版本,对吧?并不是我们想要的。哦,那我们这是第一种方式,这是第一种排查那个呃, 冲突的一个方式,我们看第二种方式。第二种方式我们可以通过插件呃,这边有一个看一下 setting, 然后在里面我们可以搜一个,我们在这边可以搜一个 mine, 然后 helper, helper, 当然我这边已经安装过了,大家可以安装一下,安装,然后点击应用,点击 ok, 点击 ok 之后我们可以在这边看到 这边有一个 test, 然后这边有一个 dependent analyzer, 然后我们点击 analyzer, 它这边就会,就会这个按 这个这个选项就是一个冲突吗?冲突就会把这些冲突给列出来,这些冲突比如说我们刚才所说的 spring bins, spring bins 它与六点零点九,对吧?它与六点零点九版本 产生冲突了,但是最终最终我们最终他变异,我们在这边可以看到他最终变异, 我们可以看到他在这边最终编译的是六点零点九。那我们如何去解决呢?这是两种排查问题的一个方式,我们如何去解决呢?我们可以在,我们可以在这个这里面去去排除掉 个排除跳它自身的一个 spring 后杠变变死。对,我们刷新一下你依赖,然后这时候我们再去,我们再去打一个它的一个依赖数, 当然我们可以使用这种方式,就是 melon, melon, dependency tree, 然后一个呃修饰服,然后去让它打到一个文件里面 刷新一下,当然我们可以在文件里面去查看,去查看的话我们看到最终打出来的一个, 我们在这边可以搜索一个 spring 杠 b n b n 便是,然后看到我们最终编译使用到的就是五点三点二三,这是原始我们的那个版本,那这时候依赖就会去解决, 对吧?我们可我们再再通过这种方,我们再看一下这种方式我们再刷新一下,看到我们可以发现 spring 杠 bs 已经消,那个冲突已经消失,只剩下这两个冲突,这两个冲突的话就不宜去赘述,谢谢大家。

介绍完 idea 和 made one 结合起来使用之后啊,接下来我们来讲最后一块内容,就是依赖管理, 那么依赖刚才我们其实说过,其实就是一个项目所依赖的第三方的一些炸包啊,插件啊,像这些东西, 那么这些东西的导入呢,其实是要在 pom 点叉面里边写对应的坐标信息的,那么特别是结合了 idea 之后啊,这个坐标写起来其实也比较方便啊,一共呢就这么四步啊,那么在这还是老规矩,我们先在 idea 里边来演示,再来回来总结哈。 那么我们打开 idea 在这块呢,我们刚才已经创建了一个眉纹 demo 这么一个眉纹的项目哈,打开这个 pom 文件,这个 pom 文件你注意看是不是?首先呢,你可以看到你自己项目对应的一个坐标信息,好,这是你对应的自己项目的坐标,我们加注视 就是当前项目的坐标,那么当前项目坐标有了之后呢,我们现在想在当前这个项目里边去引入一个第三方的炸包,那么这块呢,你要引谁啊?比如说我要去连接买 sky 数据库了, 我是不是要引入一个买色扣的驱动包啊?所以呢,我们想来导入买色扣的一个驱动炸包。好,那么接下来我们要完成这个事呢,首先第一个事,你得写一个标签,这个标签呢叫做 dependencies, 这个 dependencies 呢,它明显是个复数啊, dependency 它的意思呢?叫做依赖的意思哈,那么将来呢,这个复数下边就有很多的 dependency 标签,每一个 dependency 呢,就对应的一个依赖的坐标信息的定义。好,这里边有 group id, 有 artifact id, 还有 watch, it watch 呢,暂时没有帮你自动的联想出来,那么 idea 是非常智能的,这些坐标的组信息呢,其实不用你去写哈, 对吧?他有提示的,比如说我们写 myselco, 对吧?你看 myselco connected java 是帮你提示出来了,然后呢,你在这个地方选就行了,你看 worsen 也帮你补全了。五点一点,比如我们导个四六,这个版本好写好了, 那么要想要提示,是因为你以前用过这个炸包,在本地仓库里边有一些配置的联想信息, 就是你用过他才会有提示的,你如果没有用过,他是不可能有提示的,对吧?那有的人说,那我肯定刚开始肯定没用过呀,没用过怎么办呢?你比如说你,我想导个买色购的驱动,对吧?就没有用过吗?没有用过怎么办呢?上网搜呗, 怎么搜啊?看好了,你打开百度,或者说随便打开一个搜索引擎啊,我这个地方是 ben 啊,那么我们就搜 myselco 的区 myselco, 然后呢?这个没问好,一般我们就这样写啊,敲回车, 然后呢,你在这个地方看 maybe repository, mythical connect, 杠渣吧。好,就这个位置哈,点进去看, 点进去之后呢,你看有各种不同的版本的驱动的包的信息啊,我们比如说选一个五点一点,四一,我们以前没用过吧,对吧?那么这个地方呢,一般我们用的时候呢,不要看这个地方的这个 使用的这个频率啊,我们会找一个用的比较高的这么一个,比如说这个是一百九十一,五点一点三四。好,我们点一下,点一下之后呢,你注意看这个位置是不就是我们的得喷的生长信息啊?我们把它 ctrl c 复制过来,然后呢我们给它粘到 这个位置来。 control v, 你注意看,粘完了之后呢,你现在这个地方爆红色了,是因为当前我的本地仓库是不是没有这个呀? 没有,这个需要去下载,那么要想让这个坐标去下载的话呢,你需要去点一个这个刷新的按钮哈,一点刷新他就开始下载了。开始生效了吗?意思就是这个意思哈, 稍等一下,你看现在不爆红色了吧。不爆红色了之后呢?说明啥?说明你当前这个仓库里边是不是已有他了呀?有他了之后呢,就可以来使用了,那么我们在这个第一章也可以看一下。好,你看五点一点三四这个坐标是不是就导入进来了? 那么导入进来了之后呢?现在你注意看,好,我现在把这个玩意呢, ctrl x 剪切掉,剪切掉之后呢,这个位置并没有消失啊,原因是啥呢?原因是因为我当 前这次修改呢,并没有让其生效,那么怎么让他生效呢?你要点这个刷新按钮啊?点一下。好,你看是不是生效了,我们再把它粘回来也是一样的哈,你要点一下这个刷新按钮,让当前这次文件的修改生效,然后呢才会出现这个依赖的坐标的。好,这个要格外注意, 因为有很多同学呢,写完了之后呢,他就没有点这个刷新按钮,对吧?没有点,没有点呢。老师,这玩意不生效,为啥明明写了是因为你没有点刚才那个按钮, ok 吧?好,那么第一个事说了一下,导入坐标,那么也告诉大家将来如何去搜索哈,你要导谁?你 搜对应的名字开头的后边跟个没问,一般呢,第一个或者第二个就是对应的一个页面啊,你找到对应的版本粘进来就可以了。好,第一个事呢,我们就说完了,说完了之后呢,我们再来这里边导做, 比如说我们导一个德鲁一的吧, d r u i d, 好,提示一下,然后呢,一点一点一二,导完了之后呢,我是不是还要点这个按钮啊?其实呢,很多同学很容易忘了点这个按钮,我们有没有一种方式呢,让我这一改之后呢,就立即生效呢? 其实是有的哈,自动让它生效,那么这块呢,我们点这个 file, 然后呢 settings, settings 呢?这一块呢,你找到这个 build 的这一块哈, 点一下,点一下,之后呢,下边有个 build truth 啊,好,点一下,那么这块儿有一个 any changes 啊,就是任何的修改都要生效啊,我们点一下,选择这个 any changes, 选完了之后呢, apply ok, 那么这个时候你注意我再调坐标的话呢,他就不需要去点那个按钮,就会自动生效了,你注意看哈,我们点一个 dependency, 然后呢,选个枕 unit, 坐标好,枕 unit, 然后选个 版本,四点一点一二。好,选完了之后,你看没出来那个那个按钮让你去选刷新了吧,然后呢,这个时候你看这个坐标是不是自己就出来了, ok 啊,所以呢,这一块呢,我们也可以去配置一下对应的自动生效。好,那么在 ppt 上都有总结哈,不要着急。 然后呢再来,那我们再来说最后一个事啊,就是说,比如说我将来倒炸包的时候,比如说我把它全删了,删了之后呢,其实我想倒一个 mac 的驱动炸包, 那我明确的知道我本地仓库有,那我就不用再去挨个这样去写了,还是比较麻烦的。我在这可以用 idea 提供的模板来导航,非常的方便啊。 按个 alt insert, 然后呢出现了这边一个面板,这里边呢,你选择 dependency, 然后呢可以搜哈,比如说你导买色购的驱动,那就去搜个买色购嘛,对吧?搜完了之后呢,你稍等一下,这个地方呢,你看 有个买色扣的一个炸包啊,好,这里边有不同的版本,你要导哪个呀?比如说导五点一点三二,好,双击选中,你看导完对吧,帮你写好了, 非常的方便吧,对不对?但是呢,他这个顺序呢,感觉有点不太好哈,我们把它剪切一下,放到下边,这样是不是很方便呀? ok 啊,按着 out insert 啊,他会出现这么一个面板,然后呢,第一个就得喷那些啊,你直接敲回车,然后呢嗖嗖,完了,一敲回车就非常的快速哈,好, 那么对于这个用 idea 来在这个 power 文件里边来导入这些炸包,我们就简单的说了一下,我们来回顾一下 这一块呢,首先第一个直接写的话呢,你要写个 dependencies 标签,然后呢在下边呢写个 dependency 标签,这个 dependency 标签下边写对应的坐标信息, girafoid id, artifact id 以及我审,这都有对应的一些提示信息啊,那么写完了之后呢,还要点这个刷新这个按钮才能生效,那么当然你也可以配置自动生效,就看个人喜好,有的人呢,可能比较喜欢点这个按钮,那么不想配置也没有关系,有的人呢,嫌烦 想配置也都可以哈,要配这个自动生效的话呢,你需要去在 fire satis 里边找到 build truth, 对吧?然后呢,选择这个 any changes 点 ok 就可以生效了哈。 那么再来,你如果在倒炸包的时候呢,你知道本地仓库有的话呢,你还可以按着这个 out insert 选择 dependency, 就是选这个 dependency 哈,那么会弹出来这个界面,这个界面里边你可以去搜索对应的坐标,搜完了之后呢,一 双击这个地方就帮你把这个坐标添加进来了,这也非常的快速啊。好嘞,那么使用 idea 导入这个依赖我们就介绍完了,接下来我们再来讲一讲这个依赖管理里边的依赖范围这个知识点。 那依赖范围其实指的是啊,将来你在导入这个坐标的时候呢,你可以通过一个 scope 这个标签呢,来设置上对应的一个依赖范围的值,那这个值呢,将来可以控制你这个炸包的作用范围,那作用范围有三种哈,第一种呢叫做变异环境,第二种叫做测试环境,第三种叫做运行环境, 这三种环境我们先来解释一下,那编译环境呢,其实指的是将来你的炸包呢,可以在编译环境中有效,那有意味着啊,将来呢,你在你这个主工程扎瓦代码下边,这个目录下边所有的地方可以用这个炸包。 而第二种呢是测试环境,测试环境指的是将来你可以在 test 这个目录下边所有的类里边可以用这个炸包。还有第三种呢,就是我们对应的运行环境,就是将来啊,你导入这个炸包呢,在你最终运行的时候呢,有效果哈, 那么我们可以来演示一下,比如说啊,在这个位置呢,我们有一个坐标,这个坐标呢是买色扣的驱动炸包,对吧?那这个地方呢,我们没有配置任何的 scope 这块,我们可以来配置一个 scope, 比如让它叫 test test 的意思呢?其实顾名思义啊,就是我们测试环境有效,那也就意味着我们在 test 这个目录下边的扎瓦代码里边,可以用到这个 mysco 驱动炸包里边提供的这些字解码文件吧。那么我们可以尝试一下这个里边呢, mysco 驱动里边是不是有一个 driver 啊?那这个 driver 你看一下,是 com 点 四扣点 g d b c 的 driver, 我们可以点一下包是不是也可以正常导入,没有问题啊?好,那说明测试环境确实有效吧,而且你配了 test 之后呢,他呢在编译环境就无效了, 我们可以看一下,这就是编译环境吧,那编译环境里边我们也用一下 drawer 来看哎, drawer 不是有吗?但是你要注意啊, 这个 driver 可是扎了点思考的 driver 啊,可找不着那个买思考驱动扎包里边那个 driver 啊,所以这一块就用不了买思考提供的那个 driver 类了, 那也就意味着我们这个 test 作用范围是不是就生效了呀?这就是我们所说的这个 scope 的依赖范围哈,而这个依赖范围的取值呢,有这么六种,我们挨个来介绍一下。第一个呢,叫做 compare, compare 呢,其实就是这个 scope 的默认值,那之前呢,我们是不是来配这个坐标信息的时候, 是不是都没有配置对应的 scope, 而默认就是 compare。 compare 呢,也是最大的一个范围,就是在三种环境中都有消耗,而大部分的这种坐标,将来我们其实都用默认值就好哈。那么第二个呢,叫做 test, test 呢,刚才演示过了,叫做测试的环境有效,那么在编译和运行环境都无效哈。举个例子,比如说 g unit, 那么这种单元测试的坐标,那肯定是在测试环境有效呀,因为将来我们所有的测试代码是不是只可能写到这个 test 目录下边啊? 而这种主环境里边,我们是不会来写对应的测试代码的哈,所以一般 g ulit 的坐标呢,它倒进来默认情况下,它就帮你带了一个,这个 scope 是 test 的曲直哈。好嘞,那么接下来再来看第三个叫做 provided 哈,那这个 provided 我们待会再来讲。这个最为 特殊,先来说这个 run time, 这个 run time 呢,指的是在测试和运行环境有效,在变异环境是无效的。 那举个例子就是 g d b c 的驱动炸包,其实就是我们所说的这个买色扣的驱动炸包吧,那这个买色扣驱动炸包,我如果配一个 scope 为 run time 的话,那么将来它产生的效果呢,就是在这个变异环境主工程里边是无效的, 也就意味着将来我在这里边呢,是访问不了,比如说这种买时候对应的这种类的,那么访问不了有关系吗? 没有关系啊,因为将来我们写代码,写 g、 d、 b、 c 相关的代码,是不是都是面向接口开发呀?比如说将来我们要获取这个 connection 的话,那这个 connection 是不是等于这个 driver manager 来点 get connect? 谁呀?对吧?那么这一块这个代码你注意哈,将来是不是都是倒的,我们扎瓦斯扣包下的,但是真正运行的时候是不是才会去找对应驱动扎包的实现类呀?也就是说我们在写代码,在编译的过程里边,其实压根就用不到这个里边的 买色扣的驱动炸包,所以我们可以配一个 scope v run time, 但是你不配置其实也无所谓啊,那我在编一环境,让他用到又能怎么着呢? 所以这个地方啊,这个软 time 了解一下,知道一下就可以了。当然将来如果你知道这个知识点的话,你配了一个软 time 显得你更加专业一些嘛,对不对? 那么再下一个 system system, 这个不太常用哈,基本上用不到。它呢,其实就是指的是编译环境有效,测试环境有效,但是在运行环境无效,在运行的时候呢,用本 地存出那个炸包,就不用再找我们梅文仓库的炸包了,这个呢,很少用到,了解一下。那么最后一个 inpult 现在呢,我们不讲解,那么将来我们讲了没文高级的时候再来讲 inpult 哈。 好嘞,那么下来还剩最后一个就是个 provide 的啊,这个最为特殊哈,它的效果就是在编译环境和测试环境都能使用这个炸包,但是呢,将来真正运行的时候就不再使用这个炸包了, 那么这一块呢,要演示个效果的话呢,我们需要导入一个 web 的工程哈,因为将来 web 工程呢,可以把这个炸包呢打到对应的 web 工程的外包里边去啊,我们可以来演示一下,在今天的资料里边呢,我们已经提供好了一个 web 项目的 web demo, 然后呢我们导入的话呢,我们为了方便期间啊,我们把它复制到这个 workspace 下,然后呢完成导入哈,复制了之后呢,我们 来导入一下啊,在这个地方点个加号,然后呢选择我们对应的 web demo 这个项目的 pom 叉面双击就可以导入进来这个 web demo 这个 web 工程哈, 那这个外部工程呢,其实呢,它和我们对应的加外的这种工程呢,区别不大哈,也都是一个没文的项目,只不过呢,这个外部工程里边多了一个外部 app 这个目录啊,这个将来我们真正学外部课程会重点来讲解的。这里边我们先不用管这个事哈, 在这块呢,我们主要来看这个泡沫文件啊,这个泡沫文件里边是不是跟我们之前的方式都差不多,我们也导入了这么三个坐标, 那么现在呢,我们就来演示一下这个 provided 这个依赖范围的效果哈,在编译和测试环境有效,运行环境是无效的。举个例子,比如说呢,在这个地方,我们倒了一个买色后的驱动炸包,这个驱动炸包呢,我们现在给它配一个 scope 为 provided, 那么拍完了 provided 之后呢,编译和测试有效,那么我们来演示一下编译,就是扎瓦目录,测试呢,就是 test 这个目录,对吧?那么在编译环境呢,我们看一下对应的 driver 来看这个 driver 是不是可以访问到呀? 说明呢编译环境有效,那么同理呢,我们在测试环境来看一下对应的这个 driver 能不能访问到呢?能访问到就证明测试环境是不是也有效啊?是不是也可以访问到 com 点 mask 点 gdbc 的 driver 没有问题。 那接下来呢,我们再来演示一下对应的运行环境无效,那运行环境的意思呢?就是说啊,将来这个 web 项目呢,我们运行的时候呢,我们要给他打成一个包,比如说在这个地方,我们用这个地方的 package 来打成包, web 项目呢,会打成一个袜包哈,打成袜包的话呢,将来我们看这个袜包的 lab 目录里边有当前的 这个袜包所依赖的这些没问的坐标信息哈,我们可以看到对应的效果哈,在这个位置,我们找到这个袜包来看一下,在这个 topit 目录,我们 ctrl c 复制一下,然后呢我们访问一下这个袜包,这个袜包呢,其实就长这个样子哈,那这个地方呢,我们把这个删掉,我们直接点进去,然后把这两个目录呢拖出来, 那么拖出来之后呢,在这个解压之后呢? web info 目录下有个 lab 目录,这个 lab 目录里边其实就放的当前这个项目所依赖的这个梅文坐标的这些炸包,那这些炸包呢?你看这个 web 项目所依赖了买色口的驱动炸包, 阿里巴巴的 joey 的德鲁伊的炸包和对应的最 unit 炸包,我们刚才说过,这个 test 的依赖范围呢?是不是在运行环境无效啊?而且呢, provided 的运行环境是不是也无效呀?就意味着将来呢,这个 test 这一游轮的坐标和 connect 的驱动炸包呢?这两个都在这个 lab 的文件夹里边是没有的,那么将来这个 lab 的文件夹里边只有一个炸包,就是这个德鲁伊的炸包,可以点进看一下, 你看是不是只有一个呀?那么现在呢,如果这个 scope 我把它删掉,删掉之后呢,它它就变成了 compare, 那变成了 compare 之后呢,将来就意味着我重新打包的话,这个 lab 目录下是不是就有这个麦斯扣的驱动大包了?就这个意思哈, 所以在这一块呢,你要知道这个 provided 的好,将来呢,我们讲了 solve it 这个知识之后呢,我们还会来用这个 provided 的依赖范围的好 这块呢,我们先知道一下,这个依赖范围是编译环境和测试环境有效运行环境,就是打那个袜包里边是没有这个炸包的。好嘞,那么对应的依赖范围这个知识呢,我们就介绍完了,在这里边,你只需要 要知道将来呢,你不配置这个依赖范围,大部分情况下我们都会采用这个默认的 compare 依赖范围,让他在三种环境中都有效哈, 而且呢,将来如果是整优的坐标呢,我们导坐标的时候,根据提示导出来,默认他会配置一个 scope 为 test, 就是测试环境有效的这么一个依赖范围。 然后呢,将来我们在学了 servit 对应的知识之后呢,我们要用这个 provided 的这个依赖范围在运行环境是不能让他有效的,要不呢将来运行呢就会产生错误啊。这个呢,将来我们学了 servit 之后再来重点讲解, 那么其他的依赖范围呢,了解一下就可以了哈。好,那么至此呢,没文基础的知识呢,我们就讲解完毕了。

小家伙代码的程序员们,想问一下你们在项目中是怎么去搜索一个 mao 一的呢?我相信很多人是在我们的一个 mao 的一个仓库下面去进行相关的一个搜索吧。 啊,这里给大家看一下我是怎么搜索的。在我们的一个 idai, 一个 twit 下面有个埋纹设计,然后点击一下,这里会弹出我们的一个搜索框,然后我输入一下,以 hotto 工具包为例吧,然后这里有相应的一个依赖,然后有相应的一个版本, 然后我这里点击这个版本为例吧,这里有选择我们的一个 mailing 或者说 ganda 的一个方式,然后选择我们的一个 copiomeian, 点击一下,然后在我们的一个 mian 的一个泡沫里面去,然后 ctrlv, 然后进行我们的一个快速饮用,这样的话就很方便, 就不用去打开一个新的流量去去搜索了。嗯,我这里是使用 id 中的一个插件,这个插件名叫做我们的一个,嗯, mao, 嗯,大家如果说在我们的开发中有其他的方式去搜索我们的一个版本一带,可以就是评论分享一下,谢谢。

介绍完没问的简介,接下来我们来介绍第二张没问的安装和配置,那么没问的安装配置还是比较简单的啊,因为呢没问是一个绿色版的软件,你需要干的呢,只需要把这个没问的安装包给它解压一下,安装其实就完成了。 然后呢,你需要经过一些配置啊,比如说配置环境变量,然后呢配一下本地仓库,再配一下阿里云的私服,我们这个没问安装配置就完成了。那么下来我们一步一步来做一下。 首先呢,在我们的资料里边啊,有一个叫做 may 问的三点六点幺这个病的 vip 这个文件,这个文件呢,我们把它复制一下,然后呢,比如说我们放到这个地盘的 softv 二下边啊,我们把它粘过来,粘过来之后呢,我们打开看一下,你看它是有个目录的, 对吧?那么我们需要干的事呢,就是把它解压到当前的文件夹就可以了。好,那么这样解压完成之后呢,这个没问安装就算成功了, 成功了之后呢,接下来我们进入到这个目录里边,看一下没问的目录结构。那么首先呢,第一个定 battery 里边放的是一些二十进制的可知性文件,里边最为常用的一个是 mvn 这个名利,待会我们会用它。 那么第二个呢,布特,布特里边其实是一个炸包,这个炸包呢是没问这个工具要自己用的这么一个类加载器的框架, 我们来作为用户使用。眉文啊,不用关心这个东西啊。那么第三个 comf 这里边放的是眉文这个工具的配置文件,这里边最为核心的一个叫做 settings 的插面,待会我们要来修改它,那么最后一个赖布,赖布其实我们也不用管哈,里边放的就是 是一些炸包,因为呢,没问是由渣外语言开发的这么一个工具啊,所以呢,这是没问这个工具所依赖的一些炸包,我们也不用去操心这个事儿。 那么这里边呢,我们看了目录结构之后啊,接下来我们要干一件事,就是将没问这个病的这个目录啊,给他配置到我们的环境变量 pass 里边去,方便将来我们可以在任何目录下都可以访问 svn 这个命令啊。 那么像这个过程呢,我们已经非常熟悉了,我们快速操作一下。首先呢,我们复制一下安装这个目录啊,然后点击右键词电脑,然后属性选择高级系统设置,点击环境变量, 然后在这个位置呢,我们新建一个眉纹后抹 ma 为一,摁下滑线后抹,把刚才粘贴的这个眉纹的安装目录粘过来。确定确定了之后呢,也需要干第二件事, 就是在 pass 下边去新建一个眉文后母杠 b 是吧,在这里边摆放号反斜线,然后呢 b 把眉文后母写这块啊 mav 一摁下划线后好 写完了之后呢,点击确定确定。然后呢确定确定完事了之后呢,我们可以打开对应的 cmd 窗口看一下, cmd 好打开之后呢,我们挑一个 mvn 杠,我审好, 敲完了之后呢,你可以看到这样的信息,就证明我们的环境变量也配置成功了。好,那么配完了之后呢,我们先关掉,关掉之后呢,我们再来说第三件事,第三件事呢,需要我们来配置本地的仓库, 这个本地仓库刚才我们说了,其实就是我们电脑上的一个目录,你随便搞个目录,一般是个空文件夹就可以了,那么这个配置呢,需要你修改。 may 问安装目录下的 comf 目录里边有一个 settings chimer, 里边有一个标签叫做 local repository。 本地仓库啊,那么这块呢,我们演示一下,在这个地方找到康复目录下有个 sexy chimer, 然后双击打开,然后呢我们往下拉,找到这个位置哈,你注意看这里边是不是有 local repostery, 这个 local 蕊 poster 现在其实是注释掉了哈,我们把这一行注释的呢,我们给它粘出来,粘出来之后呢,我们放这个外边, 放外边之后呢?其实啊,他这个没问啊,你如果不配置这个本地仓库啊,其实默认是有一个本地仓库的,这个本地仓库在哪呢?我们 点打开我们的这个目录资源管理器,然后呢,在我们的 c 盘,我们的用户下边有一个我们对应的一个点 m 二这个目录,这个目录下有个 reposter, 这就是我们 may 文的一个默认仓库的位置哈,如果你不配的话,默认在这,因为他默认在 c 盘下边哈,所以呢,一般我们不要让他在这个地方,因为 c 盘的空间毕竟有限号,所以呢,在这个地方我们给他改一个,一般呢,我会放在这个位置哈,我会在这个 may 文的安装目录下, 我的习惯是在这个位置呢,去创建一个 mvn r e s p。 啊,好,我在这创建好了之后呢,我将来用这个目录当做我眉文的本地仓库,我把这个目录呢复制一下,然后呢粘到我对应的 这个 local reposter 这个标签里面去,这样呢,我的本地仓库就会生效了。好,已保存就 ok 了。那么第三步,我们的本地仓库的配置啊,其实也完成了,那么还有最后一步哈,最后一步呢,我们期望配一个阿里云的这个私, 那么私服的配置呢,其实是为了去提高我们将来一些炸包的下载速度的,因为阿里的私服呢,它的速度非常的快啊,相对于中央仓库来说,它的配置呢,其实也是来修改这个地方的 citines 的查麦尔,然后呢,你配置一个 mirror, 这个迷路呢,其实就是一个镜像的意思啊,他找到这个迷路的标签,下边有个字标签叫做迷路,我们把这一段呢粘进来哈,粘一下, ctrl c, 粘完了之后呢,我们还是在这个文件往下找,你注意啊,找到这个迷路啊,好,这是迷路,对吧?然后呢,你注意在这个下边呢, 你配一个迷路,一个镜像的一个意思啊,好,粘过来,我们给他格式化一下,把这个往后拖一下,好,弄完了之后一保存,你看这里边是不是写的是阿里云的一个私服的一个地址啊,你不要管这里边写的是啥,因为呢并 不重要啊,我们配完了之后呢,保存一下,然后关掉就可以了。那么至此呢,我们的美稳安装和配置就做完了。 安装和配置完没问之后啊,接下来我们来讲解没问的基本使用。那么在这一张里边呢,我们将讲解两部分的东西,第一部分我们将介绍一下没问的常用命令,第二块呢,我们将介绍一下没问的生命周期。 好,那么首先呢,我们先来说常用命令啊,在眉文里边呢,其实只有五个,对于比较常用的命令啊,第一个呢叫做 compare, 用来编译的,第二个呢是肯定用来清理的。第三个呢是 test, 用来测试的。第四个 package 打包,第五个 install 安装。 那么接下来我们就一个一个来演示这五个常用的命令啊。好在今天的代码里边呢,我已经提前准备好了一个非常 简单的眉问工程,里边有 src, 有泡沫,在泡沫下边呢,我们引入了这么几个坐标,对吧?买色扣的,然后呢? joe 的的,还有呢单元测试的, 然后呢,在 src 下边呢,我们有闷和 test, 分别有一个扎瓦类啊,在闷里边呢,核心代码里边写了一个哈喽沃尔的,里边打印了一行代码,哈喽梅文,好,非常的简单吧。然后呢,在 test 里边呢,我们也写了一个测试类哈,这个测试类也非常简单,也就一个打印哈,叫做 没问 test, 非常容易。好,那么接下来呢,看完了这个功臣之后啊,我们就来演示对应的这些命令啊,那么要想运行没问的命令呢,首先啊,你要在你当前的没问这个项目的 tom 这个文件所在的目录下边来执行你对应的一些命令啊。 那么在这一块呢,我们方便一点,按着 shift 点右键,在此处打开 procession 窗口,这样呢,我们就不用 cad 的方式切换到这个目录了,对吧? 那么首先呢,我们完成第一个命令啊,就是编译,那你看啊,现在这个代码啊,只有扎文件没有克拉斯文件是不能运行的。 我们要编译的话呢,我们使用的是 compair, 但是前边呢,我们得使用 mvn 好,然后呢敲一个 compairpiled 在这呢,我们如果一敲回车,其实就会进行编译的动作啊,但是呢,我们在说之前,先来说额外的另外一件事, 我们打开我们本地的仓库来看,这是刚才我们新创建的一个目录,是不是我们的仓库啊?我们本地仓库下边什么现在都没有,所以呢,这个时候你来执行这个 mvncompart 的时候呢,他 并不会立马的进行编译,而是先会帮你去下载一个编译的插件,你注意看一桥回车, 你看现在这个地方是不是开始当娄底开始下载了,从哪下载呢?从阿里云区下载,为什么呢? 因为我配了阿里云的私服啊,所以呢,他就不会去中央仓库下载了。这个时候呢,你看这个速度还是嗖嗖的,非常的快哈, 但是如果你没有配阿里的私服,将来下载速度呢,非常的慢啊,可能你要下载十几分钟的, 那么现在呢,我配了啊李云的私服之后啊,其实可能需要下载一分钟左右吧,就下载好了,你注意下载完的东西呢,是不是都到这个本地仓库这里边存放着呀?好,那么在这块呢,为了不耽误大家的时间,我先暂停一下,待会我们再回来。好,大概等待了一分钟左 的时间呢,你可以看到 build 四个 size 表示了编译已经成功了,然后呢,我们对应的编译的插件已经也下载成功了, 这时候呢,我们回到我们刚才那个没文的项目这块啊,你注意看哎,多了一个目录啊, target 对吧,目标产出的意思啊,那么这个 target 里边呢,其实就存放的你这个扎文件编译之后的字节码文件,给他看一下克拉斯里边,你看 这里边是不是有个哈喽窝的点克拉斯啊?好,第一个命令变异就介绍完了啊,变异呢,用的是 mvncompat, 然后呢,比如说啊,我们现在把它给它给它删掉, 删掉,删掉之后呢,你再来敲一下 mvncompat, 这个时候呢,他就不会再去下载了哈,因为刚才已经下载过了嘛,一敲回车,你看好,这时候呢,是不是直接就编译完成了呀,又生成了这个塔给他目录啊。 好嘞,那么第一个编译说完了之后呢,我们来说第二个 mvn 可丽,可丽大家都知道啥意思吧,亲丽的意思,这个亲丽呢,其实就是来删除这个他给他这个目录啊,好点一下, 点完了之后呢,我们注意看他是不是也要去下载对应的可令对应的插件啊,那么这个可令插件下的非常的快哈,你看就下完了,然后呢,也告诉你说 beauty 是个 size, 然后有提示啊,说 delete 是吧?删除,删除了什么呢?删除了这个 target 这个目录,你看是不是删除了没了哈,好,这是第二个, 那么第二个说完了之后呢,那么我们来说第三个,第三个呢,有一个叫做 pak 至,好,我们来运行一下 mvn p a c k aj e 啊,这个 pak 至呢是打包的意思啊,那打包呢,其实就是将这个扎瓦的代码变 一针的字节码文件给它打成炸包哈,因为呢,我们现在的代码呢,是一个扎袜的项目,所以呢,它会打成一个炸包哈,那么将来如果是外部项目就会打成外包,后期我们再来讲解。好,敲回车, 敲回车之后呢,他也会去下载这个 pak 之所对应的插件哈,稍等一下,那么注意看他是不是又生成了一个他给他呀,好,那么再来他会去下载一些东西啊,那么这块呢,还是需要来耐心的等待一下, 等待了一小会之后呢,我们来看这个 beautiful size 又成功了,那么又生成了一个 target 这个目录啊,点击 点进去,点进去之后呢,你注意看是不是有一个没文 project 的一点零 gun snapshot 点炸哈,这个地方呢,就打成了这么一个炸包,这个炸包呢,就是我们当前这个项目所打出来的这个炸包 大包里面就存放自己码文件吗?我们可以点开看一下,我们用这个打开方式吧,好,我们用这个压缩文件的方式打开,你注意看里边是不是就是自己码文件,对吧?好,那么第三个呢, package 命令也就说完了,说完了之后呢,我们继续来哈,那么还有一个呢,就是 test test 呢,是来测试的哈,测试的是啥意思呢?其实就是会自动的执行你这个 test 下边的扎哇,下边的这个测试用力的代码就是把这个自动会执行一下, 那么会在控制台上看到没文 test, 然后呢,这个箭头我们可以来尝试一下啊,在这个位置呢,我们执行 mvn, 然后呢 test 走,注意看哦, 你看 test 是吧,你看这这行代码是不是输出了啊,对吧,他说执行的这么一个 com 艾特黑马 test 没问这么一个类啊,执行完了事啊,之后 呢,他告诉你没有什么爆错, be 的是个 sis 了,那么将来如果这里边呢会有错误的话呢,他会爆红色的哈,不会执行成功的好,那么 test 也完事了,之后呢?还有最后一个啊,最后一个呢,我们称为 mayne instant, 我们敲一下 mvnlstal, 意思到啥意思呢?就是安装的意思,意思到的意思呢?其实就是将你当前的这个项目, 然后呢安装到本地仓库去啊,将来我们这个本地仓库就会多我们这么一个没问的一个炸包,我们可以看一下,执行一下,好一挑回车。 那么敲完回车之后呢,还是同样的道理啊,他会去下载对应的这个 instant 对应的插件啊,那么稍等一下,稍等,完事之后呢,我们待会来本地仓库去找一下 abus 开始了,然后呢,我们去我们的本地仓库来找一下有没有一个 com, 然后呢? it 黑马,这是我们自己的吧,没文普价格他你看一点零 s nipscalt, 然后里边是不是有我们这个炸包啊。好嘞,那么这五个命令我们是就介绍完了,你发现还是比较简单的吧。好, 介绍完这些没问的常用命令之后啊,接下来我们来说没问的生命周期。其实生命周期很简单啊,就是说没问在构建这个项目的过程中啊,一共经历了哪些事情,就是我们对应的生命周期啊。 那么眉文呢,对于构建项目,它划分了三套不同的生命周期,分别是清理的生命周期,然后呢,默认的核心工作的生命周期,还有一个站点 c 的生命周期,那么其实这个 c 的生成站点这个发布我们并不常用哈,因为一般我们并不会使用眉文来 发布我们的项目,我们会手动的通过一些其他的工具来发布,后期会重点讲解的。那么在这呢,这三套生命周期有一个非常重要的特征是我们主要要说的啊,就是在同一套生命周期内执行后边的命令,前边的命令会自动的执行。 举个例子,我们这个核心工作啊,就是默认的生命周期里边呢,有编译,测试,打包安装这些命令,哎,我们看这个地方, compare, test, package 以及 install, 这是我们刚才都用过的这些命令吧,那么这个时候呢,比如说我执行 install, 我一敲意识到之后呢,先得 compared, 再得 test, 再得 package, 最后才意思到,也就是说我执行后边的前边会自动执行。那我再问一下,我执行意思到会不会自动可令呀? 不会吗?因为这是三套吗?他只会在同一套生命周期内自动的执行前边的这些命令的。 我们来演示一下,在刚才呢,我们这个没问这个项目这块是不是就已经生成了这个他给他了,那么现在呢,我们首先呢,先把这个他给他删掉,那么就是 mvn 可令,对吧?好, 删掉之后呢,稍等一下,然后呢,我们来执行一个 mvn instant, 那么这个时候一敲回车之后啊,他是否会先执行卡 pair 编译,再进行 taste 测试再来执行 paid 是打包最后才 instant 呢, 我们拭目以待啊,消回车,消回车之后呢,首先呢,你注意看,生成了这个目录,说明啥?说明编译了,对吧?那么编译了之后呢,你注意看,然后呢,还进行了测试,对吧?你看测试代码是不是自自动执行了,然后呢,还给你生成了这个地方 一个炸包往后拖一点,你看炸包是不是也生成了,然后最后是不是在生成的这么一个叫做 install 安装一个动作呀? ok 啊,说明呢,我们通过验证发现啊,他确实帮我自动的执行了同意生命周期内前边的所有的命令啊, 是这样的吗? ok 啊,所以呢,这个是一个非常重要的知识点啊,要掌握一下。那么其实呢,我们当前啊,一个生命周期内是有很多很多的命令的啊,不止只有这几个啊,举个例子啊,比如说这个默认的这个核心工作的生命周期内有很多的啊,你注意看,这么大一堆啊, 非常的复杂,对不对?然后呢,我们常用的几个,你看 compare 啊, test 呀,打包 package 呀, install 我们讲了,然后其他的呢,大部分呢,我们都不会去用啊,所以呢,我们在这就不一一的去掩饰了。好,那么对于 mayor 的基本使用命令和生命周期,我们就降级完毕了。

大家好,我是小刘,今天这个视频来讲一下没问历代的后续吧,因为上一期出了一个没问的视频,然后还有些小伙伴的没问还是有问题,然后在系统头讲一下吧,因为他们注意的问题都是没问相关的 naval 相关的问题。第一步是安装 vivo 吗?然后比如我本地的嘛,现在还没按,按照没吻去找到离头下包,把没吻找到, 这是完成了没吻吗?这第一步吗?然后第二步的话就去没吻的配置。 ct 文件中配置阿里的镜像, 就这里了。冰下面的一个咖啡格里面的一个 ct, 这个就这个吗?这个文件, 然后把这个关键点开,然后这里面这里面的这个,这个是配置的你的仓库的地址, 然后这这些配置的是阿里云的镜像,然后这下面配置的是 gdk 八的这些,这些都是配的阿里的镜像。嗯,然后 然后有需要的小伙伴去关注我的公众号,小刘加二字路,输入 vivo 后台领取,再看下一个吧。然后 这下一步就是在那个美文的 id 二里面配置美文吗?这是我们爱迪尔玛,这个菲尔直接停里面,这里输个美文,然后这个纸箱这个美文,这里的配置的是 这样的文件,然后这里的指向的是设计文件,然后这里的指向的是你自己 仓库的地震,然后这里配完了之后,然后还是拿取不到的话,就去清除一下 id 的缓存吧, id 缓存的话就这里,这里有一个。 呃,这里吗?这里有一个纸箱,这个就是清楚 id 的缓存, 那这个清除了之外就会自动关闭,然后再重写,然后你项目假如还会出现这里依赖爆红的问题的话, 这里等依赖他还是有一拉取下来了,你找得到依赖之后,然后还是爆红的话,你说在这个生命周期里面,这里可能有重新编印一下,重新清除一下,然后再重新加快编印一下。 还有一个就是删除错误的没文,然后去看一下仓库吧看,比如这是沃尔克,是我的仓库,点进去一个, 我们来观察一下。一,一般正常拉取的价包的话,就只有这两个东西才是最关键的, 这一个一个架包和一个破木,这两个只要拉下来了你的项目就就说明你的架包拉成功了,就拉去成功了,其他的话就可以删除。假如一般拉起不成功的话,就会出现这种情况, 他只有这个或者只有这个, 然后这种情况的话就会出现依赖拉不起和来这种情况的话,就说明依赖拉取不下来,就需要自己进仓库里面把这个 拉取错误的依赖删除,然后再重新拉取,直到拉取像上一个那样拉取成功了之后,才说明你的架包拉取成功了,然后下一个就是以上的这些都不能拉取你的架包之后, 你就可以找你同事把他的驾报拉取之后再发你,比如一般都是代理的驾报里面, 然后带上他上一集。再比如这个是一点零吗?把这个一点零打成这钥匙包,打完了之后,把这个钥匙包直接丢给你同事或者同学就可以了,基本上的问题都能解决了。今天的分享就到这里,希望可以帮助大家,谢谢!

hello, 大家好,我是鱼仔。平常在写代码中,大家一定都遇到过这样几个异常, no such mess exception class not found exceptions 和 no class defound error。 而出现这几个异常的原因往往是产生了依赖冲突。什么情况下会产生依赖冲突呢? 比如我们引入了一个依赖 a, 依赖 a 引入了依赖 b, 依赖 b 引用了一点零版本的 m, 然后我们又引入了依赖 c, 依赖 c 引入了依赖 d, 依赖 d 引用了二点零版本的 m。 此时一种依赖冲突就形成了。假设依赖 c 中用到了二点零版本 m 的 xd class, 而这个 xd class 在一点零版本中没有 的项目又刚好使用了一点零版本的 m, 这个时候就会出现 nocastif font arrow。 解决这种依赖冲突的办法就是从依赖 a 中排除掉 m, 只要使用 x clue 的关键字就好了,比如下面这样,这种情况下,此兵布置项目用的就一定是二点零版本的 m 了。但是很多时候我们很难找到发生冲突的到底是哪两个依赖,今天要介绍的这款插件就是解决该问题的。 首先还是来到 ida 插件官网搜索 mayvan helper, 在 visions 中找到适合自己 ida 的版本进行下载。 下载完成后进入到 ida 中,选择 setting plugging 进行离线安装,安装完成后按提示重启 ida 即可。接着当进入到 palm 点叉 ml 时,会发现最下边多出了一个 dependence analyzer 的 taba, 点击后发现文本的泡沫文件变成了可见的 ui, 可以按树形结构展示,也可以按列表进行展示。注意,第一个选项中展示了所有依赖中 存在冲突的部分,点击进入后可以发现 sl f forg api 包在不同的包下存在两个版本,当要排除某个包时,只需要右键选择 exclude 即可。接着回到文本中,可以发现是并不止搭车 viable 的依赖已经排除掉了。 slf forg 叫 api, 当依赖十分多时,这个插件会更加好用。最后介绍一下当有多个依赖冲突时,眉本是如何选择的。这里遵循两个原则,路径最短原则。 因为一点零版本的 m 依赖距离最短,所以会选择一点零版本的 m。 声明优先原则,如果两组依赖路径长度一致,那么在碰文件里排最前面的会被使用。以上就是本期视频的全部内容了,我是于仔,我们下期再见。

介绍一个 r d 的插件叫 mering helper, 就是在开发的时候使用 mering 工程,就是在这些抛物文件中添加了好多依赖,但是这些依赖的这些中间可能是有一些相同的这些依赖, 但是版本不一样就造成一些冲突。就是使用这个 merry pro, 它可以很方便的管理这些冲突。又在设置中在这一个插件中搜索这个 merry, 没有 harper 给我已经装了,装了这个之后重启一下按键, 装之后就是打开这个泡沫文件,泡沫文件之后就下面有一个依赖分析,打开这个依赖分析他有好多这个选项,第一个就是所有的依赖 以竖形式展示,这个就是类似的,就是就是把所有的都列在这。还有一个就是第一个是冲突 点,这个的话如果是有冲突的,他会列出来这所有的冲突。我这边有一个马贝利斯的冲突,他有两个,嗯,点一点这个马贝利斯的吧,他后面就右边,他会出现两个就是所有的依赖。第一个就是他 主动就依赖一个三点五点一二,还有一个就是这个马贝特 spring, 布特斯纳特,这一个他依赖的三点五点幺幺, 这两个版本是不一致的,他就会显示在这冲突中。解决这个冲突也比较简单,就是在这个三点五点幺幺右键点击这个排除,排除的话再刷新一下,再刷新一下 他重新去那个加载一下这个依赖,嗯 啊,现在再刷新一下。 嗯,看一下这个 spring, 它在这个就是 smarbitis 的这个 slatter, springboot slatter, 它下面就把这个 mobits 给排除了,下面应该是由自己单独加了一个 mobitis 的这个依赖。 再看一下刚才可能是没有刷新,再刷一下,用这个 re importing 的,再 refresh ui 一下它,这是这次这个冲突就没有了。如果想看这个 maritis 这个版本,嗯,在这地方 可以看到 marbet 三点五点一三,就是下面这个最新的这个版本 就是使用这个 many help 就很方便的解决这些冲突。

介绍完眉文的作用以及课程安排之后啊,接下来我们正式的开始来学习眉文。那么首先呢,先来说第一章眉文简介, 这块呢,还是有一些概念啊,需要和大家交代一下的,这里边有一段描述信息,我们来读一下啊。 party 妹妹是一个项目管理和构建的工具 哎,这里边有一个新的词哈,叫做 apathy, 翻译过来呢,叫做阿帕奇。阿帕奇呢,其实是一个基因组织, 这个基金组织呢,他起了很多的项目,大概有三百多个,而这些项目呢,全部都是开源的,免费的,供各位的程序员去使用。那么我们作为一个渣的程序员,其实将来要接触到很多很多阿卡奇的项目啊。 这块眉文是我们建的阿帕奇的第一个项目,那么说白了,眉文就是个工具嘛,对吧,它的作用呢?刚才我们也说了,有这么三个 非常方便的重要的功能哈,好,那么没问呢,他基于项目对象模型的概念啊,就是泡沫的概念。那个项目对象模型呢,其实就是 project object, 某抖,他简称为 pom 的概念啊,那么通过一小段的描述信息来管理项目的构建啊,报告啊,文档这些东西啊。那么这段话读完之后呢,你只需要知道一个事,没问他就是个工具, 对吧?作用呢?刚才介绍过,那么下来呢,这是梅梅的官网啊,这个官网呢,我们可以打开看一下啊,好,看,到了之后呢,这块呢,这是这个阿帕奇的一个羽毛,这个 logo 啊,好, 那么下边可以看到说 welcome to a party 美吻啊,欢迎你来使用这个阿帕奇的美吻,那么下边知道描述呢,说阿帕奇的美吻呢,是一个软件项目的管理和构建的工具,他 基于泡沫,对吧,就是刚才我们在 ppt 上展示的那段文字信息哈,那么在下边呢,有很多很多的东西,有兴趣的同学呢,可以去阅读一下哈。当然啊,有很多同学说,这全英文的我怎么能读得懂,对吧, 其实呢,现在这个年代哈,你不会英语已经不是借口了,因为你想我用这个工具啊。呃,谷歌浏览器,他是不是自带翻译软件啊,我点一下翻译一下, 现在会读了吧,对吧,其实很多这样的官网信息啊,可以去看一看的哈,对你的整体的认知呢,是有一个帮助的。好,那么在这一块呢,我们就不带着大家挨个去说了,我给大家讲解就可以了。那么下来呢,我们再来说哈, 没问呢,其实有一个模型我们需要知道的啊,这是官方的一副没问模型的一个图啊,那么这个图呢,是分两部分看的哈,我们先来看下边这一部分啊, 就是这一部分,这一部分呢是构建生命周期的阶段,通过各种各样的插件来完成一些功能啊,比如说呀,我通过编辑的插件,我可以来编辑这个项目,我可以通过测试的插件来测试项目,我可以通过打包插件来打包这个项目, 那么这些插件体现是不是就是刚才我们所演示的那些简单的命令啊,对吧,那么通过这种插件呢,就可以完成项目的标准化的构建流程啊,这是第一个插件,还有一个呢,叫做项目对象模型,也是没文里边最为核心的一个概念啊, 这个项目对象模型呢,其实就是通过一些简短的描述信息,这些描述信息呢,写到这个泡沫点插面里边来描述你当前通过眉文构建的这个项目哈,什么意思哈?我们刚才不是通过眉文构建的一个项目呢,对吧?叫做眉文普尔戴特,你看 看一下,这个项目呢,其实呢有一个唯一的标识这一块,这三个东西叫做 group id、 阿特发克 id 以及我审,我们称为坐标啊,这是当前这个项目的唯一标识, 那么待会我们会重点来讲解的。好,那么这个项目呢,是一个唯一标识,那么其他人写的项目通过没文构建的项目是不是也有唯一标识啊? 你比如说买色口的驱动炸包,他是不是也是一个没文购件的项目,他也有唯一标识,那么通过这样的唯一标识是不可以让项目和项目之间相互的依赖呀?这就是我们所说的依赖管理模型吗?对吧?好, 那么这一块呢,来看一下眉纹里边还有一个项目对象模型和依赖管理模型,他是不是这两个结合起来就提供了这种方便的依赖管理这个眉纹的功能啊?所以呢,这个眉纹这一块啊,一些简单的干 念。我们说了一下,那我们再来说这幅图里边还有一个东西叫做仓库啊,这个仓库是啥意思呢?我们来说一下,比如说啊,现在呢,我想来引入一个炸包, 对吧?我引入一个,比如说德鲁伊的 joe 的的连接持炸包,那么 d r u i d 我一敲,敲完之后呢,我选个版本,一点一点一二。好,敲完了,敲完了之后呢,我一刷新,一刷新之后,这个炸包你看是不是就到我们的工程里边来了,对吧?好, 那你想一想,我在这写了一段配置,这个炸包呢就平白无故的过来了,他是怎么过来的呀?你神笔马良啊,对吧?你写完了配置之后呢,炸包就出来了,哪有这么神奇。 其实呢,这段配置呢,只是说去某一个地方找到了对应的一个炸包,然后呢引用了一下,仅此而已。那从 哪个地方去找这个炸包呢?就从我们对应的仓库去找哈,那现在呢,其实当前我的机器上是有一个仓库的,这个仓库里边其实就有对应的这个德鲁伊的炸包,我们可以来看一下啊。 现在呢,我要找到我的没问的安装目录,也是我的仓库的目录啊,那么这块呢,我们待会安装的时候会告诉大家怎么去配置哈,现在我先大家看一下, 那么在这块呢,我的没问的安装目录在这,这就是我没问的仓库,这个仓库里边其实呢就存放了一大堆的炸包,那么他通过这种唯一的标识就可以找到对应的一个唯一的炸包。 来看 com 点阿里巴巴,其实呢对应的就是 com 目录下有个阿里巴巴的目录啊。首,首先我们找到 com 目录 c 开头的,是不是 com 目录下边有个阿里巴巴的目录?是不是阿里巴巴目录?阿里巴巴目录下边其实有 有一个德鲁伊的目录啊,我们可以再来看好阿里巴巴下是不是有个周围的目录,这个周围的目录下边其实又有一个一点一点一二这个目录,我们可以再点进去看 是不是有个一点一点一二的目录,这个目录里边就有对应的这个炸包。那么这个时候呢,你注意,我起了这一段配置之后呢,其实就是让当前这个项目呢,去引用了这个地方的仓库里边的这个炸包, 他没有那么神奇说你一写完这个炸包就自己进来了,从哪来的呀?就是从这个仓库里边来的哈,好,那么这个仓库呢,我们要重点去讲一下, 那么没问呢,里边其实呢有三种不同的仓库,分别是本地仓库、中央仓库以及远程仓库,我们称为私服哈,那么这一块这三种仓库呢,作用均不一样。 那么首先呢,我们来说本地仓库啊,本地仓库刚才我们看了,其实就是你当前自己计算机上的一个目录,在这个目录里边呢,是不是存放了很多很多的炸包啊? ok 啊,这是本地仓库, 那第二个呢?中央仓库,中央仓库呢,他呢叫中央,他是由没问团队维护的,全球唯一的这么一个仓库, 在这个中央仓库里边存放了大部分的一些开源的这些诈包哈,一大堆的啊,很多很多,我们可以点开看一下啊,看一下呢,你看这是中央仓库的一个位置啊,那么这个里边呢,你注意看,是不是有一大堆的诈包啊?这么多,对吧?那些诈包呢,其实每一层里边还有很多很多的一些其他的, 我们点一个比较多的哈,比如说我们点个 com come, 里边是不是有很多,对吧?你看 com 下边是不是有一大堆目录结构非常深的哈,好, 那么在中央仓库里边呢,其实维护了基本上全球所有的开源的免费的一些炸包, ok, 这是中央仓库,那么还有一个呢,叫做远程仓库私服哈,这个私服是啥意思呢? 私服和官服很好理解,对吧?比如说玩个游戏,有官方的服务器,还有私自搭建的服务器啊,他其实呢就是说有一些公司的团队呢,搭建了一个远程仓库,我们称为私服啊,因为中央仓库啊,毕竟是由美文团队维护的嘛, 因为是在国外啊,这个仓库的位置啊,那么在国内访问呢,其实呢会比较慢一些啊,所以呢,我们一般公司会搭建一个自己的私服,把中央仓库的这些渣包呢同步下来,我们通过项目来访问,是不是比较快一些啊? 再然后啊,这个没问的中央仓库里边啊,其实放的都是一些免费的开元的这些炸包,那么有一些版权信息的炸包呢,在中央 仓库是找不着的,所以呢,我们可以搭建一个自己的远程仓库,我们自己来维护这个仓库哈,然后呢,可以把我们自己起的一些炸包,或者有一些版权的炸包下载下来,放到远程仓库,让我们的项目去使用,所以呢,仓库有这三种不同的类型。 那么下来呢,我们再来说一下,当你写完了这段配置之后,就是你在这项目里边写了这段配置,那这个炸包呢,如何被引用到当前你的项目里边去的这个过程哈,来说一下,那么比如说我们在这有两个项目,项目一,项目二,在项目一里边我需要一个 a 这个炸包, 对吧?那这个时候呢,我一写完配置,是不是在项目一里边要写一些配置啊?写完了之后呢,这个时候没问这个工具,就自动的会去本地仓库去寻找当前本地仓库里边是否有 a 这个炸包啊? 一找,有吗?如果我这个没问,刚装好肯定没有啊,对吧?没有的,没有了之后呢,没问这个工具呢,又会自动的去中央仓库去找 中央仓库里边有没有 a 这个炸包啊? a 一找,中央仓库里边是有的,因为中央仓库里边放了很多很多的炸包嘛,对吧? 那么这个时候呢,没文工具还会干一件事,自动的会去下载中央仓库里边的炸包到本地仓库,那这个时候本地仓库就有 a 这个炸包了,那么这个时候呢,项目就引用了 a 这个炸包,可以来完成一些相关的工作了。好,这是这个过程, 本地仓库到中央仓库,那么这个时候呢,项目二也需要一个 a 炸包,那么这个时候呢,项目二是不是也写了一段配置呀?写好了之后呢,去本地仓库一看,本地仓库里边 是不是已经有了 a 这个炸包了?有了之后呢,那就直接引用到项目二里边,那么项目二也可以使用 a 炸包的功能来完成一些工作了, 这就是我们本地仓库和中央仓库一个工作的流程哈。好,我们再来回顾一下,就是当项目使用坐标引入了对应的依赖渣包之后啊,首先呢,会查找本地仓库是否有啊, 如果本地仓库有,那就直接引用啊,那么如果本地仓库没有,那么这个时候呢,则去中央仓库去下载对应的炸包到本地仓库,那这个下载的过程呢?是每稳这个工具自动完成的, 举个例子演示一下吧。那现在呢,你看德鲁伊的炸包现在是不是有啊?那么现在注意看哈,我把这个注视掉,注视掉之后呢,这个时候呢,我们一刷新来看,现在德鲁伊的炸包呢,是不是在 当前项目里边没有去引用了,然后呢,我们把本地仓库这个德鲁夷这个炸包呢给他删了,你注意看哈,我们 com 阿里巴巴一点一点二,我们给他干掉,是不是干掉了?干掉了之后呢?现在啊,我把这个地方呢注视呢给他打开, 你注意看啊,打开,打开之后呢,我再一刷新,你看下边进度条,他要去下载的哈,你看是不是有个进度条要去下载的。那么一下载完成之后啊,稍等一下,我们再来看这个地方是不是又有了呀? 是不是给你下载下来了? ok 啊,这就是这个下载的一个过程哈,是自动完成的,根本就不需要我们去操心的。好, 这是我们的本地仓库和中央仓库的一个流程。那么再来说远程仓库,假设说哈,现在公司啊,搭建了一个远程仓库,一个私服哈,那么这个时候呢,我比如说项目呢,项目二需要一个 b 这个炸包,那么这个时候呢,首先呢,会去本地仓库找有没有逼这个炸包啊,哎,一找发现没有 没有,这个时候按理说应该去中央仓库去寻找了吧,现在不会了,因为你驾驶了私服哈,所以呢,每晚先会去私服里边找私服里边有没有币这个炸包啊?一找没有, 对吧?没有没有,这个时候呢,没问,这个时候会从中央仓库去找这个币这个炸包一找有,有了之后呢,会从中央仓库把炸包先下载到这个私服里边去,然后呢私服再传递给本地仓库,那么这个时候本地仓库呢,一发现有了之后呢 项目二就可以来引用这个 b 这个炸包了。好,那么这个时候同学要问了哈,说这个远程仓库怎么这么麻烦,对吧?那么这个时候呢,你发现,哎呀, 还要多找一层,是不是还是比较慢的哈,其实不是这样的哈,一般呢,我们这个私服搭建起来之后呢,都会先把中央仓库所有渣包同步到这个私服上去啊, 然后呢,我们这个时候主要这个私服的目的啊,其实就是为了提升这个中央仓库呢访问的速度啊,因为中央仓库呢,在国外嘛,速度比较慢啊,所以呢,我们在本地架设一个这种远程仓库,这叫私服啊,来提升这个访问速度的,那么我们也可以放一些 自己写的一些扎包,或者说一些有版权信息的扎包放到这个私服上去啊,这样去使用啊,那么这个私服呢,今天我们不教大家如何搭建啊,但是我会教大家如何来使用一些国 内的提供好的一些私服来提升我们这个炸包的下载速度的哈。好,所以呢,你可以搭建远程仓库,那么将来炸包的查找顺序呢,就变为了从本地仓库先到这个 远程仓库私服里边去找,然后呢再到中央仓库去找。好好,那么对于没问的简介呢,我们就介绍完了,那么这一块呢,我们介绍完了之后呢,接下来我们就可以把没问安装上,然后进行一些配置了。 那配置呢?其实我们首先要配置一下本地仓库的一个路径啊,对不对?我们要指定一下我们的本地仓库是哪个目录呀?然后呢我们再来配一个阿里云的私服,来去提升一下我们的炸包下载的一些速度啊。

介绍完没问的一些命令啊,和他的生命周期的基本使用啊,其实呢,将来我们使用没问,大部分的时候呢,我们都是结合这种集成开发工具一起使用的,所以呢,接下来我们来讲一讲在 id 二里边如何来使用,没问好, 那么在这一块呢,我们将讲解四部分内容,首先呢,我们来说 id 二里边如何来配置我们当前本地的眉文啊,然后呢,我们会介绍一下眉文里边非常重要的一个东西叫做坐标。再来呢,我们用 id 二创建眉文项目,并且呢,我们讲一下如何用 id 二导入别人的眉文项目。好, 那么首先呢,我们先来说 i 第二中如何配置,我们当前的没有环境啊,那么其实这一块呢,一共就三步,我们首先在 i 第二里边演示,然后呢再回到 ppt 里边来总结哈,打开 i 第二,在这块呢,我已经创建 好了一个空的一个项目哈,首先呢,你要配置当前的眉文呢,你点击这个 fire, 然后呢选择 settings, 在这块呢,你搜索一下眉文 m a v n, 搜索一下之后呢,你会发现,哎,这个地方呢,其实自带的有眉文哈,也就是说矮店儿里边内置已经集成了一个眉文了, 你不配其实也可以哈,但是呢,一般我们配置我们当前电脑上安的那个眉纹哈,你在这点三个点,然后呢找到你对应电脑上安装的这个眉纹那个目录啊,好, 找到这个眉纹好,然后呢点击 ok, 点完了之后呢,你看他使用的是不是你当前安装这个眉纹了, 然后再下来,注意有一个 user settings file 就是你的配置文件,配置文件呢,默认它使用的是 mr 目录下那个哈,我们不用他那个,我们要选择我们自己的那个点那个 o r i 的 狗挑上,然后才可以选择。选择呢,你就选择刚才我们地盘下的 software 下边的梅文的这个配置文件的目录,因为这里边我是不是配了本 本地的仓库和阿里云的私服啊?好,你选择选择之后呢,你看他是不是本地仓库就给你自己加载进来了呀,然后呢,我们点 apply 点, ok, 好,这样呢,我们的没问就配置完成了,在 id 二里边啊, 那么配置完成了之后呢,你发现其实并不难吧,在我这个 ppt 里边已经总结好了这个步骤啊,第一件事呢,去点击这个设置,然后呢搜索没问。第三件事,把你当前的本地 安装的没问呢,给他配置到 id 二里边去,并且呢要去修改配置文件的路基就可以了。那么配置完了之后呢,我们其实就可以来去创建 对应的眉纹项目了,但是创建眉纹项目呢,需要用到一个非常重要的知识,叫做眉纹的坐标,所以呢,我们首先来对这个眉纹的坐标做一个详细的解释哈,那这个眉纹的坐标呢,它其实指的是啊,这个资源的唯一标识, 那么将来我们用这个坐标啊,其实可以来去定义项目或者引入项目中所需要的依赖。哎,刚才我们去演示了使用坐标,是不是引了一个炸包,是这样的是吧?好,那这个坐标呢,其实是有三部分组成的,分别是格鲁普 id, artifact id 以及我省哈, 那么第一个葛肉婆 id, 葛肉婆 id 呢?它是组织的名称,组织名称一般呢就是你公司的域名,比如说 come 点 it 黑马,什么 o r g 的阿 patch, 对吧?阿帕奇呀,什么 come 点阿里巴巴呀,就是组织 名称。然后呢,第二块 it factid, 一般呢是我们模块的名称,就是项目的一个名称哈,那么通常是模块的名称,比如说什么 alder service 模块的名称吧,什么固执 service, 对吧?就是带有功能的一些通用的模块名称。 然后第三个呢,是我审版本号哈,那版本号你可以随便写哈啊,比如说,呃,一点零版本,一点一版本对吧?你也可以写英文的一些版本啊,后期我们学了一些技术呢,之后呢,他有以什么地铁站命名的这些版本啊,都有的 好,那么这三块就组成了一个资源的唯一的标识哈。下边比如说这是我们当前定义一个项目的一个坐标,你看我们 com 这 it 码组织名称,然后呢, it fact id 就是模块名称 may went gone demo, 然后呢,我们的版本号一点零杠 snap short snapshot 呢?其实这个意思是一个快照的意思啊,其实就是一个嗯,正在编写,还没有编写完成的这么一个版本哈,如果将来是稳定版呢?它是瑞丽丝。好, 再来呢,你可以看一下,这是买 ceco 驱动的一个版本,买 ceco 格鲁普 id 组织名称,然后呢, rtfectid 就是模块的名称,干啥的呀?买 ceco gun connector gun 加瓦表示了它的功能对吧?做驱动连接的版本呢?五点一点四六, ok, 所以呢,这就是我们对应的一个坐标哈,那么坐标知道了之后啊,我们就可以来创建我们的美文项目了。 其实创建煤文项目呢,也是比较简单的,一共也就三步哈,那么我们来先来讲解,再来这里边总结一下。打开第二,刚才我们已经配置好了煤文的环境,然后呢, 我们想创建没有那项目呢?这个时候呢,我们点击这个地方的按钮,然后呢,我们在这点模块点个加号,注意你有模块,这跟之前都一模一样吧。然后以前我们选择的是不是加二的项目呀?现在你不能选这个面板了,你要选没问这个面板 好,选没问这个面板之后啊,你点下一步,点完了之后呢,这个地方你起个名就可以了,比如说我们叫做 m a v n, 没问杠。然后呢,我们比如说叫 dem 吧,好,没问杠, dem 内文杠呆梦。你写完了之后啊,就是你这个模块的名称,其实呢,在这个地方阿迪 fax 下边还有一些你的坐标的信息,其实默认呢,他帮你写了一些坐标啊,我们不想用,我们想自己写,你把这个组织的名称换一下,比如换成 com 点 it it 黑马,这是你的组织名称,然后呢, it fact id, 你看他是不是帮你填好了,就是这个模块的名称。然后版本号呢,我也不想去改了,就一点零杠 step, 然后点非内饰, 没文项目就创建好了。创建好了之后呢,我点了 ply 点 ok, 你注意看他默认的是不是就帮我把这个 pom 文件打开了,我现在不想看,我把它关掉。然后呢这个没文项目就创建好了, 装进好了之后呢,我们再来看一下这里边的目录结构哈, s r c pome 没问题吧?然后呢,在 s r c 下边有 men, 有 test, 没问题对吧?然后呢,在 me 下边有扎瓦,有 resauces 那个 wive a p p 并没有,因为我们创建的是扎的项目,至于 wive 的项目,当我们学到 wive 核心的时候再来讲解哈。然后呢, test 下边儿有扎瓦诶,少一个 test 的瑞骚 cs 哈,现在, 那你的测试用力,将来如果不要配置文件,你可以不加,如果要的话呢,你点右键是不是创建一个目录补上就可以了。 the rectory, 你注意你看,非常智能哈,还有一个没问 sause the character 啊,有提示的,双击一下, ok, 补齐了。那么这个时候呢,这个目录结构就是比较齐全的了, 那么我们可以尝试在这个地方呢写一个 hello word 吧,好,写个类 com 点 it i t 黑马点。然后呢,我们起个名叫做 hello word 写完了,写完了之后呢,我们来 ps vm, 好,我们输出一下,输出一个哈喽,没问好,哈喽, m a 为音 好。写完了之后呢,点击右键直接运行就可以了,你会发现啊,还是非常非常的方便的,对于没人想 项目的一个创建啊,好,那么至此呢,眉文项目的创建我们就介绍完了,其实呢,一共呢,就这么三步啊,第一步呢,你选择这个眉文,然后呢,点击下一步对吧? 选这个,然后呢,点击下一步。选完了之后呢,你要填写对应的模块名称,然后呢,存放路线你不用写哈,他默认呢,就存放到你的工作空间里边去了哈。然后呢,你写一下你的组织名称,再来写你的模块名称,这个模块名称呢,和你 对应的这个地方的显示这个模块名是一样的哈,他会自动的帮你写好的版本号呢,你自己写进自己的就可以了,一般呢,我们也不做什么修改号,那么弄完了之后呢,你点击下一步非内饰就可以了。 然后呢,写一个哈喽, word 运行一下这个梅文项目的创建,就完全能好介绍完 如何使用 idir 创建美文项目,那么接下来呢,我们来说一下如何使用 idir 导入美文项目,因为将来我的很多项目呢,要发给各位各位呢,需要导入到你的 id 二里边去运行,去看这个代码的效果哈,所以呢,我们要学会导入没文的项目, 那么导入这块呢,也是比较方便的,一共呢其实就两部啊,还有第三个呢,是一个面板的选择哈,我们演示一下,比如说啊, 现在呢,在我这个代码里边有一个没问 project 这么一个项目,我一般的做法啊,不想直接导这个项目,因为呢,这里边呢,可能存放一些中文的路径啊,我一般喜欢把它 ctrl c 复制到我当前的工作空间里面去啊,我放到这对吧, ctrl v 工作空间里边来,然后我倒这个就可以了, 在这怎么倒呢?打开第二,打开第二之后呢,你在你的右侧会看到这么一个没问的这么一个面板,点一下,点一下,之后呢, 你点这个加号,注意啊,爱的没文 project, 你看名字起的多棒是吧,点一下点一下,之后呢,你就可以选哈我个 space, 然后呢,里边你看没文 project, 找到一个项目的碰文件双击就倒进来了,就这么防备哈,你看是不是倒进来了, ok 啊,就非常的方便啊,这里边呢,有对应的一个哈喽味的,是刚才我们写的哈,好,那么这样我们没有的项目就导入就成功了。 那么当然啊,有的同学呢,打开 id 二之后呢,看不到这个没文的面板哈,看不到怎么办呢?这块呢,你选择这个 view, 然后呢这个有个 appearance, 然后呢,你选择一个对应的叫做 true window bus, 你点一下,你看是不是就没了,有可能,你们看这样的哈,当然啊,你点这个微友,然后呢选择这个处 windowbox 一点,你看这个没文的面板就出, 那么这一块呢,我们在这个 ppt 上也有记录啊,首先呢,你选择加号,对吧?然后呢,选择你的对应项目的泡沫文件,双击就倒下来了, 那么当然,如果没有看到这个眉纹的面板呢 view appearance, 然后呢处 window bus, 选择一下,就可以打开对应的这个眉纹右侧的攻击条面板哈,好,那么这个 id2 导入眉纹工程啊,我们也介绍了,那么最后呢,我们再来介绍一个非常实用的眉纹小插件,叫做眉纹 apple, 那么这个没文差劲有什么用呢?我们点一下哈,我们在这个地方呢看一下,其实呢,将来你要执行这个没文的命令啊,在这个矮店里边啊,也是比较方便的吧,我们点这个没文面板,然后呢,我们比如说随便找个项目哈,找个项目之后呢,这里边有 life sick 啊,就是神秘周期的一些命令, 你看可拎,对吧,你双击一下,你看是不是就可拎了,对吧?然后呢,你扛片一下, 注意是不是就给你变异了,是吧?然后呢,以什么 install 对吧?这些命令是不是都可以在这执行啊? ok 啊,也是比较方便的吧。但是呢,将来啊,如果这个项目多了,在这个地方呢选择,你还要去选一下,对吧,选择某个项目, 嗯,其实也不是特别方便啊。那么有一个插件呢,很好用啊,这个插件呢,叫做眉纹 apple 装好的效果我给你演示一下,你直接点击右键,然后呢,在这个地方有个装眉问,你看这样是不是更为方便一些哎。 install 你看跟刚才的效果是不是一模一样的, 对吧,那么在这一块呢,还有一个非常棒的效果,就是可以抵八个眉尾哈,可以做断点调试的。那么刚才在这一块啊,你 不能直接进行断点的方式哈,就没法做了啊,只能进行双击去这样运行哈,不能断点,那么在这一块呢,你可以进行断点调试的,将来你执行的时候可以进行一个断点调试。那么当然这一块呢,是没文差劲提供的,你如果不装这个差劲呢,就看不到这两个 选项了哈,那不要装这个插件呢,也是比较方便的,你在这个位置呢?嗯,塞挺斯这个位置,然后呢,点击这个普拉的 ins, 然后呢,稍等一下,这个地方会加载一下所有的插件,然后你在这个位置呢,搜一下 m v a 音没稳好 这个画呢,会搜出来一个插件的名称呢,叫做没问 happy, 就这个。那么我在这其实已经安装过了。那你搜出来看到的效果呢?是这样子的哈,就是你刚开始搜完了之后呢,会看到这样的 有个 instant 按钮,对吧?在这一块个 instant 按钮呢,你一点一点之后呢,会弹一个界面,你 except 接受一下,然后就安好了。安好了之后呢,你重启一下 id, 这个眉尾 happy 就可以生效。生效之后呢,你就可以看到刚才我们所说的这两个选项哈,一个是软眉尾,一个是第八个眉尾。好,这个我后期呢会经常用哈, 大家呢也可以尝试的去装一下。好嘞,那么对于没问和埃及尔结合的使用啊,我们也就讲解完毕了。