【发布时间】:2021-10-29 21:28:52
【问题描述】:
假设我们在 maven 中有以下依赖层次结构:
+- projectA
| +- projectB
| | +- projectC
| | +- projectD
这里 projectB 需要来自 projectA 的某些库(比如说 libX)。 但是,层次结构中不再需要这些库(ie. C 和 D 不需要 libX)。 现在,由于 projectC 和 projectE 都从其父项目(projectA)继承了所有依赖项,因此它们可以提供这种依赖项。
Q.是否可以在projectB本身级别限制依赖继承,这样就不用到处手动排除了(即projectC、projectD等)
【问题讨论】:
-
如果 projectA 是一个包含代码甚至依赖项的项目,那就是有问题。父级只是包装类型
pom,从不包含代码。如果在那个 pom 中定义了一个完全错误的依赖项......一般规则永远不会在父项中定义依赖项......