在依赖管理中使用Maven多个定义 - 尤其是使用import

时间:2017-03-14 18:30:16

标签: java maven import dependencies dependency-management

Maven如何在pom.xml的dependencyManagement部分中处理依赖项的多个定义? e.g。

notifyDataSetChanged()

这里我已经定义了两次弹簧上下文。一次排除,一次没有。 Maven在两个条目存在的情况下运行和构建。但是我不确定它是如何读取的'依赖。明智的行为可能是它合并定义。虽然我不确定这是否可行。如果做不到这一点,我希望它能够打印错误。

虽然以上内容对我来说并不清楚,但如果有导入范围定义则会变得更加复杂。

e.g。

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
            <!-- Exclusion needed to prevent conflicts with SLF4j -->
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
</dependencyManagement>

如果在import和spring-boot-dependencies pom.xml中定义了依赖项,会发生什么?

1 个答案:

答案 0 :(得分:0)

一般情况下,最后一个条目获胜并且子poms覆盖父poms。但进口的处理方式不同 - 它们不在同一水平上#34;作为其他dependenyManagement条目。有关详细信息,请参阅

dependencyManagement - imports and direct entries in parent poms