2018年8月20日星期一

Maven_009:依赖最佳实践

1. 排除依赖
考虑以下场景:
A 项目依赖 B,B 项目依赖 C,根据依赖传递, A 依赖 C。但 C 是一个 SNAPSHOT 版本,容易引起不稳定性。
这时 A 项目需要排除掉 C 的 SNAPSHOT 版本依赖,再生明一个 C 的稳定版的依赖。, 

2. 归类依赖
考虑以下场景:
A 项目依赖来自于同一项目的不同模块,比如 Spring Framework 有很多模块,这些模块的版本应该是相同的。
这样,将来考虑升级 Spring Framework 时,所有模块一起升级。
通过定义版本属性,所有模块引用这个版本属性。

3. 优化依赖
查看已解析依赖:mvn dependency:list
查看依赖树:mvn dependency:tree
分析依赖:mvn dependency:analyze


参考文献:
1. 《Maven 实战》 徐晓斌著