背景
创建多模块项目时,相信有部分同学对父模块个子模块的pom文件产生了疑问,子模块是否能自动继承父模块的依赖。这就得讲到dependencyManagement和dependencies的区别了
关于dependencyManagement和dependencies的区别
dependencyManagement
是包版本管理的标签,你可以这么理解,此标签中的所有jar包只是声明,并没有真正的引用
dependencies
此标签内的jar包会被真正的引用
使用方式
由此,我们实际使用时,通常会出现两种方法,
一种是使用dependencyManagement在父项目的pom.xml声明所有子项目使用到的包信息,在子项目中再引用,这种,当我们绝对对某个大项目(父项目)升级某个包时只需改父项目的pom.xml中对应包的版本信息即可,无需一次更改每个子项目。
细心的同学肯定也发现了,我们在父pom中声明包时填写的信息是很全的包含了版本以及额外信息,而在子pom引用时只简单的写了包名,这也是dependencyManagement的一个省心的特性
第二种是使用dependencies,把所有子项目共用的包提取到父项目的pom.xml中,对与每个子项目特别引用的包在子项目pom.xml中引用即可
两种方式没有好坏,看各自的使用场景
请关注我的订阅号
转载于:https://my.oschina.net/u/3066875/blog/3056601
分享到:
相关推荐
springboot 的maven依赖包,含有所有maven依赖,网络不好的可以来下。压缩包3.
一、Idea关联的maven本地仓库配置文件settings.xml (1)必须使用默认文件名 ...pom-maven-springboot-CusConfigV1.xml pom-maven-springboot-CusConfigV2.xml pom-maven-spring-CusConfigV1不推荐使用.xml
Maven 使用一种标准的项目对象模型(Project Object Model,POM),通过POM文件来配置项目的构建过程,解决和管理项目的依赖关系。它简化了构建流程,使得开发者能够更专注于代码本身,而不是构建过程。 "Maven ...
1. **依赖管理**:Maven 可以自动下载项目所需的库文件,并管理这些依赖关系。开发者只需要在 POM 文件中声明所需的库版本,Maven 就会自动处理。 2. **构建工具**:通过简单的命令行指令,如 `mvn install` 或 `...
Maven会自动处理依赖关系,从中央仓库或其他指定仓库下载所需库。 此外,Maven提供了插件机制,允许扩展其功能。例如,使用maven-surefire-plugin进行单元测试,maven-javadoc-plugin生成API文档,maven-source-...
在给定的标题"apache-maven-3.6.1-bin.tar.gz"中,我们可以看出这是Maven的一个发行版本,版本号为3.6.1,且以tar.gz格式打包,这通常是Linux或Unix系统中常见的归档和压缩方式。描述中的"liunx中的maven"进一步确认...
Maven的POM是一个XML文件,通常命名为`pom.xml`,它定义了项目的结构、依赖关系、构建目标和插件配置。通过在POM中声明依赖,Maven会自动下载并管理这些依赖,避免了手动管理jar包的繁琐工作。此外,Maven还支持插件...
6. 依赖管理:Maven的依赖管理允许项目声明所依赖的其他库,并自动解决依赖关系。Maven会根据版本管理和传递性依赖的原则,自动下载并管理这些库。 7. settings.xml配置:在Maven的配置文件settings.xml中,可以...
下载之后再maven的bin目录下使用mvn命令:mvn install:install-file -Dfile=F:\apache-maven-3.5.3\mylib\olap4j-0.9.7.309-JS-3.jar -DgroupId=org.olap4j -DartifactId=olap4j-0.9.7.309-JS-3 -Dversion=0.9.7.309...
2. 依赖管理:Maven通过POM自动管理项目的依赖关系,从Maven中央仓库或其他指定的远程或本地仓库下载所需库。 3. 生命周期(Lifecycle):Maven有三个基本生命周期,分别是`clean`(清理)、`default`(构建)和`...
`apache-maven-3.8.1-bin.tar` 是Apache Maven 3.8.1版本的Linux安装包,采用tar格式封装,方便在Linux环境下进行解压和安装。 Maven 的主要功能包括: 1. **项目构建**:Maven 可以生成JAR、WAR、EAR等不同类型的...
- Maven是Apache开发的项目管理和综合工具,它管理项目的构建、报告和文档,通过POM(Project Object Model)文件定义项目依赖关系。 - Maven生命周期:包括清理、初始化、编译、测试、打包、验证、部署等阶段。 ...
在实际使用中,我们解压"apache-maven-3.8.5-bin.zip"后,会得到Maven的可执行文件,包括bin目录下的mvn命令行工具,lib目录下的库文件,conf目录下的配置文件如settings.xml等。安装完成后,设置好环境变量,就可以...
总结一下,"apache-maven-3.2.3-bin.tar.gz"是一个重要的Java开发工具,它简化了项目构建和依赖管理,提供了标准化的项目结构和构建流程,使得团队协作更加高效。通过了解和熟练使用Maven,开发者能够快速构建、测试...
- **项目模型**:POM是Maven的核心,它描述了项目的基本信息(如项目名称、版本、作者)、构建配置、依赖关系、构建目标等。POM文件是XML格式,通常命名为`pom.xml`,位于项目根目录下。 - **聚合与继承**:POM还...
mybatis-plus-generator-maven-plugin-v1.0.0依赖的pom.xml,用于mybatis-plus-generator-maven-plugin-1.0.0.jar本地仓库上传时依赖使用
在"apache-maven-3.8.4-bin.zip"这个压缩包中,你会找到Maven的可执行文件和配置文件,包括`bin`目录下的启动脚本,`conf`目录中的settings.xml,这个文件可以配置本地仓库位置、远程仓库地址以及其他定制设置。...
对于`apache-maven-3.8.3-bin.tar.gz`,用户需要先将其解压缩,通常使用`tar -zxvf apache-maven-3.8.3-bin.tar.gz`命令。解压后,将Maven的bin目录添加到PATH环境变量中,以便在任何地方都能使用`mvn`命令。 **...
然后,我们需要在`pom.xml`中配置`maven-assembly-plugin`,并引用刚刚创建的assembly描述符: ```xml <artifactId>maven-assembly-plugin <version>3.3.0 <descriptor>src/main/assembly/dev.xml <!-...
Maven 使用一种标准化的项目对象模型(Project Object Model,POM),通过POM来管理项目的构建、报告和依赖关系。"apache-maven-3.8.3-bin.zip" 是Apache Maven 3.8.3版本的二进制发行包,包含所有必要的执行文件和...