问题描述
a->c[4.0.6]
a模块中通过maven导入了c模块,并指定它的版本为4.0.6
b->a->c[4.0.1] ???
b模块通过maven导入了a模块,结果b模块中的c是4.0.1的版本....
问题出现的环境背景及自己尝试过哪些方法
我在对接阿里云短信,a短信模块导入了阿里云的SDK包(c)版本是[4.0.6]
b业务模块导入了a短信模块,b模块下的c包版本是[4.0.1]怎么改都是4.0.1.....
于是我查看了maven的调用树
- a短信模块
- b业务模块
a模块只被b模块调用.没有其他模块的影响. b模块没有其他模块是和c模块有关联的.
相关代码
实例的代码太多太杂就不展示了.
我期待的结果
希望能知道有那种可能的错误会导致这样的结果.感谢~
关于 maven 依赖解析的2条规则:
所以你可以看看依赖的顺序,也就是 dependency 的顺序。
参考:https://blog.csdn.net/lonelym...