maven - 给定组中所有包含的 Artifact 对相同版本的依赖

标签 maven hadoop maven-3 hadoop2

我有一个使用各种 hadoop 库的项目,其中我希望所有来自 “org.apache.hadoop” 组的依赖项都具有相同的版本,即 2.7.6, 甚至传递依赖。

例如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 中显式添加此类冲突的依赖项来使我的东西工作。但我想知道我们是否可以强制执行这样的事情。

最佳答案

如果你真的想改变传递依赖(见khmarbaise的评论),你可以用<dependencyManagement>来实现。 .它允许您定义所有依赖项的版本,包括可传递的依赖项。

参见示例

differences between dependencymanagement and dependencies in maven

关于maven - 给定组中所有包含的 Artifact 对相同版本的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50872419/

相关文章:

java - 使用B类对象创建B类对象

java - 库未加载到可执行 jar 中

maven - 无法从命令行访问 mvn 命令?

image-processing - Web 应用程序中大型图像处理/服务的引用架构是什么?

java - 无法在新的 mapreduce API 中将 RCFileInputFormat 设置为 InputFormatClass

maven-2 - Maven : How to create assembly with snapshot artifacts without timestamps file name?

Maven:如何以不同的结构复制子文件夹及其内容

maven - Intellij-idea调试器在调试maven测试时断开连接

java - 使用 Spring Boot 和 Thymeleaf 时出现 "Circular view path would dispatch back to the current handler URL."

python - 如何解决使用 Python 读取和写入 HDFS 时的代理错误?