Maven - 从多个依赖项部分中排除相同的jar

时间:2015-07-14 20:47:15

标签: java maven pom.xml

我有一个包含许多依赖项部分的pom.xml。其中许多依赖jar都嵌入了junit jar,因此我想将它从每个jar的依赖项中排除,如下所示 -

<dependency>
        <groupId>abcd</groupId>
        <artifactId>xxdd</artifactId>
        <version>0.0.0.1</version>
        <exclusions>
            <exclusion>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

问题是,对于所有依赖项,我必须给这段代码部分排除junit jar吗?有没有办法从所有依赖项中排除全局?

由于

2 个答案:

答案 0 :(得分:4)

您不必排除junit,它是使用测试范围定义的,因此不会作为传递依赖项传递给您的项目。如果你真的想要排除一个组件被包含在最终的war / ear中(但在编译期间可用),请参阅Is there a way to exclude a Maven dependency globally?

答案 1 :(得分:0)

<dependency>
    <groupId>abcd</groupId>
    <artifactId>xxdd</artifactId>
    <version>0.0.0.1</version>
    <scope>provided</scope>
</dependency>

您可以利用提供的,这将用于编译,但不会用于包装。有关依赖关系范围的更多信息:https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

您无需指定多个依赖项,只需指定一次即可完成工作。