聊聊如何优雅地使用maven依赖
背景
现在很多JAVA系统都是多module的,比如这种:
项目结构图
那么这种多module的maven依赖怎么弄,对maven不熟悉的朋友可能会这样弄。
子module的pom。xml文件
就是在各自module的pom。xml文件中配置各自的maven依赖,这样系统也能跑起来,但有没有想过,这些module中可能会出现相同的maven依赖。假如某一天,需要对某个maven依赖进行升级,所有的module都需要挨个改一遍。
maven继承
在maven的设计中,子moudle是可以继承父module的依赖关系的。
比如我们只需要在父module中配置相关依赖。
父module所有依赖
子module指明继承的父module即可。
子moudle继承父module依赖
所有的依赖配置在父module的pom。xml中,所有的子moudle拥有了和父module相同的maven依赖。
但是这样也有个问题,比如父module的某些依赖,我压根就用不到,依赖进来是不是有点多余?按需继承
在maven设计中,提供了按需继承的功能,依赖还是在父module的pom。xml中统一指定,子module按需指定想要依赖。
在父module使用dependencyManagement标签。
父module指定所有依赖
子module按需指定依赖
子module按需指定依赖
这样你的maven依赖是不是非常的优雅。