pom.xml中依赖管理标签的作用是啥?

Posted

技术标签:

【中文标题】pom.xml中依赖管理标签的作用是啥?【英文标题】:What is the purpose of dependency management tag in pom.xml?pom.xml中依赖管理标签的作用是什么? 【发布时间】:2020-04-02 14:57:59 【问题描述】:

谁能解释一下这个依赖在依赖管理下的作用以及添加它之后为什么我们不需要提及依赖的版本?

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>$spring-cloud.version</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>


    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>

【问题讨论】:

你读过例如maven.apache.org/guides/introduction/…? 这能回答你的问题吗? Differences between dependencyManagement and dependencies in Maven JF Meier,你这里提到的问题是关于父子项目和父项目中依赖管理的使用。这里依赖管理和依赖都在同一个项目中。希望我能澄清我的疑问。 【参考方案1】:

dependencyManagement 使它们可用,但您需要将它们导入您希望它们加载到的每个子模块中。用作版本控制,并避免在每个模块或子项目中加载所有依赖项的臃肿项目。

dependencies为每个继承它们的模块或子级加载它们。

【讨论】:

以上是关于pom.xml中依赖管理标签的作用是啥?的主要内容,如果未能解决你的问题,请参考以下文章

POM(project Object Model) Maven包管理依赖 pom.xml文件

Maven高级:依赖管理

SpringBoot多模块搭建,依赖管理

Maven

maven的依赖和聚合

springBoot是如何管理项目中的依赖