【发布时间】:2019-07-25 12:13:43
【问题描述】:
使用 Maven 3.0.5
我正在尝试从 com.holdenkarau 获取 spark-testing-base 以使用 Hadoop 3.1。 Holdenkarau 的 dependency tree 包括 Hadoop 2.8.3;这就是为什么我认为我遇到了错误。
从我的mvn dependency:tree 我看到以下几行:
[INFO] +- org.apache.hadoop:hadoop-common:jar:3.1.0:provided
...
[INFO] | +- org.apache.hadoop:hadoop-common:jar:tests:2.8.3:test
这些行来自 pom.xml 文件中的这两行:
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.holdenkarau</groupId>
<artifactId>spark-testing-base_${scala.compat.version}</artifactId>
<version>${spark.version}_0.12.0</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils-core</artifactId>
</exclusion>
</exclusions>
</dependency>
我基本上有两个相关的问题:
org.apache.hadoop:hadoop-common:jar:3.1.0和org.apache.hadoop:hadoop-common:jar:tests:2.8.3有什么区别。额外的tests是干什么用的?它从何而来,又是什么意思?如果我有一个在
test范围内使用旧版本包的依赖项,我如何强制它使用新版本;即,我如何强制spark-testing-base在测试范围内使用 Hadoop 3.1。
【问题讨论】:
标签: maven hadoop dependencies maven-3