我有一个使用各种hadoop库的项目,其中我希望组“org.apache.hadoop”中的所有依赖项具有相同的版本,即 2.7.6,甚至是传递依赖。
E.g。 hive-hcatalog-core:jar:2.3.2 - 取决于 hadoop-mapreduce-client-core:jar:2.7.2 ,但我想要2.7.6版本的hadoop-mapreduce-client-core将被明确使用。 类似于org.apache.hadoop中的许多库。
编辑 - 我通过在我的pom中明确添加这些冲突的依赖项来使我的工作成功。但是我想知道我们是否可以强制执行这样的事情。
答案 0 :(得分:1)
如果您真的想要更改传递依赖项(请参阅khmarbaise的注释),您可以使用<dependencyManagement>
执行此操作。它允许您定义所有依赖项的版本,包括传递依赖项。
参见例如
differences between dependencymanagement and dependencies in maven