3分钟为女同事解决Maven依赖冲突,不香吗?

小林的艳遇

这天小林无所事事准备下班,突然听见隔壁小美在哭泣,正(hao)义(se)的小林过去关切的问 “小美,你怎么了?是不是被该死的王经理欺负了?”,

小美抽泣着点点头 “经理叫我把这个 Maven 的红色波浪线去掉,可是我一直去不掉。”

正(hao)义(se)的小林心想又是一次约女神吃饭的好机会,小林立马说 “交给我了,这么晚了,我弄完一起吃个饭啊?”

小美看着小林说,“你真的可以吗?”

小林拍了拍胸脯说 “男人,有什么不行的”

小美的困惑(何为依赖冲突?)

小林,看了看屏幕

3分钟为女同事解决Maven依赖冲突,不香吗?

很明显,就是这个 fastjson 包在捣鬼

小林冲小美笑了一笑,“小美啊,这个红色波浪线是因为 依赖冲突 ,你看你的 fastjson 这个包,是不是显示 omitted for conflict with 1.2.47,这个意思就是你的 fastjson 包产生了冲突。我换个说法给你解释,就比如说你的项目中用了 A jar 包依赖 C jar 包, B jar 包也依赖 C jar包,Maven 就帮你下载了两个版本的 C jar 包,然后他们就产生了依赖冲突,这时Maven会依据 依赖路径最短优先原则 ,来决定使用哪个版本的 jar 包,而另一个无用的jar包则未被使用,这就是所谓的 依赖冲突 。”

小美激动的望着小林,眼神里流露出一丝崇拜的眼神。

小林心里乐开了花,接着说:“其实吧,在大多数情况下,jar 包冲突是不会影响我们系统正常的运行的,但是不排除在一些极端的情景下会出现 找不到类的异常 ,我们作为一名严谨的程序员(为了 KPI 考虑),一定要把这个问题解决掉”

小美同意点了点头说,“小林,你会解决吗?”

小林微微一笑,“问题不大”

来吧,展示 (初步解决依赖冲突问题)

解决依赖冲突的方法,就是使用Maven提供的 标签,** **标签需要放在 标签内部,就像下面这样:

<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> <exclusions>  <exclusion>   <artifactId>fastjson</artifactId>   <groupId>com.alibaba</groupId>  </exclusion> </exclusions></dependency>

果然问题解决

3分钟为女同事解决Maven依赖冲突,不香吗?

再来一手 (批量解决依赖冲突)

小美:“小林,你太厉害了吧,我这还有个项目,你能都帮我解决下红色波浪线吗?解决完我们就去楼下的沙县小吃吃饭”

小林随意挥挥手,“小case”

小美点开了一个新的项目,小林彻底吓呆,竟然有20多处红色波浪线,小林心想 “这样一个个 exclusion,隔壁老王的孩子都能去沙县打酱油了,幸好我关注了 码儿嘟嘟骑 ,这个公众号不仅有 2020年最新的大厂面试题,还有各种电子书,技术文档,多看看这个公众号的技术文章,再也不用怕被王经理怼了,据说公众号主还是个帅哥,要是我也能成为号主那样的人就好了,升职加薪,走上人生巅峰”

呸呸呸。想歪了,还是帮小美解决问题吧。

小林 :“小美,你这个项目依赖冲突太多了,我们最好用 Maven Helper 这个 Idea 插件来解决这个问题,好多人都在用,官网上好评如潮”

3分钟为女同事解决Maven依赖冲突,不香吗?

小美:“哇,这么好用,那你能教我怎么下载吗?”

小林:“当然可以啊, 你可以点这个链接下载 ,然后在没有改 Idea 快捷键的情况下,按住 Ctrl + Alt + S 打开我们的 Settings,然后点击 Plguins ,选择 Install plguin from disk… ,选择中我们从官网下载的文件就可以啦,记得重启 Idea 哦 ”

小美:“好麻烦啊,上次项目组的王哥直接在 Idea 就在帮我装了 Lombok ,虽然我也不知道那是什么东西,但是他就是直接在 Idea 里面装的,超级厉害的”

小林:“我也会!”

  • 还是一样,按住 Ctrl + Alt + S 打开我们的 Settings,选择 File -> Settings 也是可以的

    3分钟为女同事解决Maven依赖冲突,不香吗?

  • 选择 Plunins, 查询 Maven Helper,如果没有,点击 Search in repositories

    3分钟为女同事解决Maven依赖冲突,不香吗?

  • 选择 Maven Helper, 点击 Install

3分钟为女同事解决Maven依赖冲突,不香吗?

笨笨的小美不会用(Maven-Help 使用方法)

3分钟为女同事解决Maven依赖冲突,不香吗?

崇拜 + 1 (Idea 自带查看依赖冲突的方法)

小林 :“小美,你懂了吧,就是这样这样,那样那样,就可以解决依赖冲突啦,接下来我在教你一手,也很实用哦”

小美:“好啊,小林,你人也太好了吧”

小林:“what?这是好人卡吗?”

小林:“你这样这样,那样那样,就可以查看Maven依赖关系结构图。红色的就是依赖冲突的地方,蓝色就是正常的依赖,当然你也可以Ctrl+Alt+Shift+U,也可以查看哦”

3分钟为女同事解决Maven依赖冲突,不香吗? 3分钟为女同事解决Maven依赖冲突,不香吗?

小林:“小美,我们去吃饭?”

小美:“可以啊,可是楼下沙县关门了,我们下次吧,我先下班回家啦”

小林默默呆在原地,流下了工具人的泪水!

END!

原文 

https://segmentfault.com/a/1190000023228162

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 3分钟为女同事解决Maven依赖冲突,不香吗?

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址