我有一个奇怪的情况。在 jar A 中,我明确引入了 commons-dbcp 1.3 版。在 jar B 中,我依赖于 jar A。但是,当我在 jar B 中引入 jar A 依赖项时,我的 maven 依赖层次结构显示 jar B 现在使用的是 1.4。如果我删除该依赖项,commons-dbcp 将从我的 maven 依赖项层次结构中消失,因此我确信它不会被拉入其他地方。当我在 jar A 的 maven 依赖层次结构中时,它只显示 1.3。
有谁知道为什么会发生这种情况?
我有一个奇怪的情况。在 jar A 中,我明确引入了 commons-dbcp 1.3 版。在 jar B 中,我依赖于 jar A。但是,当我在 jar B 中引入 jar A 依赖项时,我的 maven 依赖层次结构显示 jar B 现在使用的是 1.4。如果我删除该依赖项,commons-dbcp 将从我的 maven 依赖项层次结构中消失,因此我确信它不会被拉入其他地方。当我在 jar A 的 maven 依赖层次结构中时,它只显示 1.3。
有谁知道为什么会发生这种情况?
Maven 自动确定为传递依赖引入的版本。您可能对 commons-dbcp 有多个依赖项(如果它们在不同的范围内,您的测试可能不会显示它)。使用Maven 依赖插件viamvn dependency:tree
查看其他依赖项。