依赖管理中的依赖项与 Maven 版本插件中的依赖项

2024-06-18

当我使用 Maven 时versions:display-dependency-updates为了检查依赖项更新,我得到了两部分结果。

1st:

依赖管理中的以下依赖项具有较新的 版本:

2nd:

依赖项中的以下依赖项具有较新的版本:

这两者有什么区别?


The 依赖性 https://maven.apache.org/pom.html#DependenciesPOM 的部分定义了项目所依赖的工件(jar、zip 等)。即编译、运行等所需的工件。

The 依赖管理 https://maven.apache.org/pom.html#Dependency_ManagementPOM 的部分用于管理依赖关系信息。

例如,在下面的 pom 中,JUnit 依赖项完全定义在dependencyManagementPOM 的部分version=4.11 and scope = test.

In the dependency部分您只需要使用以下命令定义 JUnit 依赖项groupId and artifactIdmaven 会自动从以下位置获取版本和范围dependencyManagement部分。

<?xml version="1.0" encoding="utf-8"?>
<project>

    ...
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.11</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
     <dependencyManagement>

     <dependencies>
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
         </dependency>
     <dependencies>
</project>

通常你会定义dependencyManagement父 POM 中的部分,您可以在其中定义所有依赖项的版本和范围。然后在子模块中,您只需使用以下命令定义依赖项groupId and artifactId。这使您可以集中管理版本,并且意味着您只需在一处更新它们。

所有这些在 Maven 文档中都有更好的解释:https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

The 版本 Maven 插件 http://www.mojohaus.org/versions-maven-plugin/只是列出了每个部分中找到的版本,因为它可以在dependencies部分来覆盖version中定义的dependencyManagement部分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

依赖管理中的依赖项与 Maven 版本插件中的依赖项 的相关文章

随机推荐