jar包依赖如何管理

jar包依赖的管理方法(附git源码)

    • jar包管理面临的挑战
    • 解决jar包管理思路

jar包管理面临的挑战

随着项目不断的迭代、拆分,项目之间的jar包依赖关系复杂度也是不断的变大,看不懂的编译报错,头大的启动问题都在不断的折磨着我们。

解决jar包管理思路

在这里谈谈我的感受和方法,主要概括为:

1、通过顶层统一的父pom来管理spring的jar包版本号,确保spring的core、context、transaction、web等的版本统一。spring多版本的交叉使用,会引入一些看不懂的编译及启动错误。可以借助于dependencyAnalyzer插件来分析冲突(idea插件库)。

2、封装中间件并分不同的模块,如:kafka、dbcp、dubbo、es、redis、mongodb、utils等作为基础组件(生成jar包),不同的项目中只针对用到的中间件基础组件做依赖。

3、和第1点是一个思路,通过顶层统一的父pom来管理第三方公共jar包,例如:apache的commons-collections、google的guava、github的pageHelper、http的okhttp等。

4、项目交叉依赖可以通过在顶层父pom和底层模块之间增加多级父pom,整体的依赖结构是树状结构。

5、服务分层(基础service层、服务编排层、控制器层,其中服务编排层还可以根据实际情况再做分层),只有层次分明,系统才具备扩展性。快速迭代、上线才简单。同层服务相互依赖的管理成本和运行成本只会变的越来越大。

以上三点是我的实践总结,思想是从我的代码里提炼出来,也反映在代码里,可以看看代码的pom依赖设计,从另外一个视角来看问题,解决问题,希望会给你带来一些灵感。

git后端地址:https://github.com/sijunx/mySpider

你可能感兴趣的:(jar包管理)