依赖管理:dependencyManagement

dependencyManagement里只是声明依赖,并不会引入声明的依赖
当项目工程比较大,存在多个模块时,会在父模块中使用dependencyManagement组件,所有的子项目只需要在父pom 的 “公共依赖声明池” 中挑选自己想要的依赖,而不用关心版本。这样即不会继承到不需要的依赖,又统一了依赖的版本。
如果想统一调整所有子项目某个依赖的版本,只需要在父pom 里更新。不需要修改任何一个子项目。
如果某个子项目不想使用公共的版本号,只需要在 dependency 中加上版本号,子项目就会使用自定义的版本号,不会继承父类版本号。

项目示例:
这是父模块:

<dependencyManagement>
        <dependencies>
			 <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>${hutool.version}</version>
            </dependency>
			<dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson.version}</version>
            </dependency>
 		</dependencies>
</dependencyManagement>

这是子模块的pom:

<dependencies>
 		<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
        </dependency>

        <!--hutool-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
        </dependency>
</dependencies>

简单来说,dependencyManagement可以帮助我们集中管理依赖项的版本和属性信息,从而避免版本冲突和属性设置的错误。如果开发者需要在项目中使用谋个依赖项,只需要在dependencies标签中引用即可,无需手动设置任何属性信息

如果没有使用dependencyManagement组件,直接使用dependencies,则父模块会下载依赖,子模块中就无需声明相同的依赖了

你可能感兴趣的:(java,maven,开发语言)