【Maven】dependencyManagement节点

2023-10-10 16:32

本文主要是介绍【Maven】dependencyManagement节点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

dependencyManagement 元素

在Maven中,使用 dependencyManagement 元素来提供一种管理依赖版本号的方式。通常会在一个组织或者项目的最顶层的父POM中可以看到dependencyManagement元素(也可以在子项目POM中声明)。

使用pom.xml中的dependencyManagement元素能让所有在子项目中引用一个依赖而不用显式的列出版本号 version 。 Maven会沿着父子层向上走,直到找到一个拥有dependencyManagement元素的项目,然后就会使用这个dependencyManagement元素中指定的版本号。(可参见Spring项目中提供的dependencyManagement元素设置)


通过在父pom.xml中指明 dependencyManagement 元素的方式 ,Maven结合项目继承来管理依赖。

在多模块应用中,可能多个子项目会有共同的依赖。此时为了正确运行,必须让所有的子项目使用依赖项的同一版本。必须确保应用的各个项目的依赖项和版本一致,才能保证测试和发布的结果是相同的。因此,应该在顶层的pom中定义共同的依赖关系。


示例:


在顶层应用的pom中,dependencyManagement 段如下:

<dependencyManagement><dependencies ><dependency ><groupId>com.devzuz.mvnbook.proficio</groupId><artifactId>proficio-model</artifactId><version>${project.version}</version></dependency ><dependency ><groupId>com.devzuz.mvnbook.proficio</groupId><artifactId>proficio-api</artifactId><version>${project.version}</version></dependency ><dependency ><groupId>com.devzuz.mvnbook.proficio</groupId><artifactId>proficio-core</artifactId><version>${project.version}</version></dependency ><dependency ><groupId>com.devzuz.mvnbook.proficio</groupId><artifactId>proficio-store-memory</artifactId><version>${project.version}</version></dependency ><dependency ><groupId>com.devzuz.mvnbook.proficio</groupId><artifactId>proficio-store-xstream</artifactId><version>${project.version}</version></dependency ><dependency ><groupId>org.codehaus.plexus</groupId><artifactId>plexus-container-default</artifactId><version>1.0-alpha-9</version></dependency ></dependencies >
</dependencyManagement>

顶层POM中的dependencies 与 dependencyManagement 中的 dependencies 元素有一个重要的区别:

dependencyManagement 中的 dependencies 元素只表明依赖项版本的优先选择,并不影响项目的依赖项;而 dependencies 元素则影响项目的依赖项。


在子项目的POM中:

<project><parent><groupId>com.devzuz.mvnbook.proficio</groupId><artifactId>proficio</artifactId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>proficio-api</artifactId><packaging>jar</packaging><name>Proficio API</name><dependencies ><dependency ><groupId>com.devzuz.mvnbook.proficio</groupId><artifactId>proficio-model</artifactId></dependency ></dependencies ></project>

其中没有指明依赖项的版本 version 信息,在顶层POM中的dependencyManagement中表明其优先选择的版本。为使其模块POM完整,其版本信息会注入其中。


只有当外层的dependencies 元素中没有指明版本信息时, dependencyManagement 中的 dependencies 元素才会起作用




这篇关于【Maven】dependencyManagement节点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/181707

相关文章

解决Maven项目报错:failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题

《解决Maven项目报错:failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题》这篇文章主要介... 目录Maven项目报错:failed to execute goal org.apache.maven.pl

Maven中引入 springboot 相关依赖的方式(最新推荐)

《Maven中引入springboot相关依赖的方式(最新推荐)》:本文主要介绍Maven中引入springboot相关依赖的方式(最新推荐),本文给大家介绍的非常详细,对大家的学习或工作具有... 目录Maven中引入 springboot 相关依赖的方式1. 不使用版本管理(不推荐)2、使用版本管理(推

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

Maven pom.xml文件中build,plugin标签的使用小结

《Mavenpom.xml文件中build,plugin标签的使用小结》本文主要介绍了Mavenpom.xml文件中build,plugin标签的使用小结,文中通过示例代码介绍的非常详细,对大家的学... 目录<build> 标签Plugins插件<build> 标签<build> 标签是 pom.XML

IDEA与JDK、Maven安装配置完整步骤解析

《IDEA与JDK、Maven安装配置完整步骤解析》:本文主要介绍如何安装和配置IDE(IntelliJIDEA),包括IDE的安装步骤、JDK的下载与配置、Maven的安装与配置,以及如何在I... 目录1. IDE安装步骤2.配置操作步骤3. JDK配置下载JDK配置JDK环境变量4. Maven配置下

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具