梳理项目的pom文件「终于解决」

梳理项目的pom文件「终于解决」【前言】Maven是一款十分棒的项目管理工具;毫无疑问pom文件是Maven项目中的命脉,管理着各个jar包之间相互依赖关系;最近将项目中的pom文件重新梳理了一遍,发现pom文件如果乱了,后续会有无数个头疼的坑;接下来就为大家分享一下这次的pom梳理流程,从而避免给以后留坑。【精彩整理旅程】一、整理前项目中暴露出问题…

 

【前言】

       Maven是一款十分棒的项目管理工具;毫无疑问pom文件是Maven项目中的命脉,管理着各个jar包之间相互依赖关系; 

       最近将项目中的pom文件重新梳理了一遍,发现pom文件如果乱了,后续会有无数个头疼的坑;接下来就为大家分享一下这次

的pom梳理流程,从而避免给以后留坑。

【精彩整理旅程】

        一、整理前项目中暴露出问题

              1、同一个jar包存在N个版本,非常容易出现由于版本不一致而引起问题(如:某些包版本不一致后会包名可能会变);

              2、传递依赖,一旦jar包升级,会存在潜在风险;

              3、许多无用依赖,导致打出的包巨大,运行时浪费资源;

              4、项目之间依赖关系紊乱,不利于项目管理;

        二、对项目进行优化

              1、明确项目整体依赖结构

                 (1)结构关系

                           root

                              —-tool

                              —-各个微服务聚合pom

                                  —-Api

                                  —-Service

                                  —-Web

                 (2)各个节点的含义

                          a.root:根Pom,控制所有依赖包的版本;

                          b.tool:工具类,项目中公共调用方法;

                          c.各个微服务聚合Pom:聚合工程方便识别各个微服务;

                          d.Api:本服务的对外接口及DTO;

                          e.Service:本服务的Service和Dao层;

                          f.Web:本服务的Controller层;

              2、杜绝传递依赖

                 (1)tool中的依赖所有jar的scope属性设置为provided;

                 (2)Api中的依赖所有jar的scope属性设置为provided;

              3、Jar包版本统一管理

                 (1)项目中所有依赖的jar包版本由root通过dependencyManagement统一管理,将版本号用properties统一定义方便集体升级; 

                 (2)每隔一段时间(一个月)查看项目中可升级的Jar包版本(需根据自己的项目情况),大部分情况下建议大家使用

高版本jar包,因为一般情况下高的版本是对低版本升级;  

              4、好用maven命令

                 (1)分析jar包是否有用:mvn dependency:analyze

                 (2)分析依赖关系:mvn dependency:tree

                 (3)查看可升级的jar包:mvn versions:display-dependency-updates

 

【总结】

       1、在坤哥的带领下对项目的Pom进行一次全面整理,为项目的发展保驾护航,避免一些坑;     

       2、发现问题,解决问题,直面项目中的痛点。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/10861.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注