Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Maven中,“package:artifact:jar:version”和package:artifact:jar:tests:version”之间有什么区别?_Maven_Hadoop_Dependencies_Maven 3 - Fatal编程技术网

在Maven中,“package:artifact:jar:version”和package:artifact:jar:tests:version”之间有什么区别?

在Maven中,“package:artifact:jar:version”和package:artifact:jar:tests:version”之间有什么区别?,maven,hadoop,dependencies,maven-3,Maven,Hadoop,Dependencies,Maven 3,使用Maven 3.0.5 我正试图从com.holdenkarau获得spark测试基地,以便与Hadoop 3.1合作。holdenkarau的包括Hadoop 2.8.3;这就是为什么我认为我会犯错误 从mymvn dependency:tree中,我看到以下几行: [INFO] +- org.apache.hadoop:hadoop-common:jar:3.1.0:provided ... [INFO] | +- org.apache.hadoop:hadoop-common:j

使用Maven 3.0.5

我正试图从com.holdenkarau获得spark测试基地,以便与Hadoop 3.1合作。holdenkarau的包括Hadoop 2.8.3;这就是为什么我认为我会犯错误

从my
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通用
3.1.0
假如
com.holdenkarau
spark-testing-base_${scala.compat.version}
${spark.version}\u 0.12.0
测验
公地小海狸
公地豆核
我基本上有两个相关的问题:

  • org.apache.hadoop:hadoop common:jar:3.1.0
    org.apache.hadoop:hadoop common:jar:tests:2.8.3
    之间有什么区别。那额外的
    测试是为了什么;它来自哪里?它意味着什么

  • 如果我的依赖项在
    测试
    范围中使用包的旧版本,我如何强制它使用新版本;i、 例如,如何强制
    spark testing base
    在测试范围内使用Hadoop 3.1


测试
称为分类器,它包含的代码实际上只在实际测试环境中有用,例如嵌入式HDFS系统

您可以显式地尝试引入这样的新版本,假设它存在

<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-common</artifactId>
    <version>3.1.0</version>
    <scope>test</scope>
     <classifier>test</classifier>
</dependency>

org.apache.hadoop
hadoop通用
3.1.0
测验
测验
您可能还希望在另一个依赖项中排除相同的内容,但是您可能会遇到构建问题,因为该库只是针对2.8.3编写的