我有一个parent-pom.xml,它声明了一个依赖关系A v1.0,它依赖于<dependencyManagement>
部分中的B v1.0。
我的child-pom.xml引用了<dependencies>
部分中的v1.0。但是,子项目的代码也使用依赖关系B v1.0中的类。
子项目的代码在没有显式引用B v1.0的情况下编译和运行,因为Maven通过A v1.0传递解析它。在<dependencies>
部分没有明确引用B v1.0的缺点是什么?
答案 0 :(得分:1)
好吧,假设您要将A升级到v1.1并且此版本不再使用B,或使用具有不同API的B v2.0。这样做会破坏您的代码,因为它依赖于不再存在的东西(B v1.0)。
另一方面,如果您明确指定您在子项目中使用B,那么您最终会选择以下两个选项之一: