maven 常用特殊标签详解

1、<models><model>

模块标签,用于聚合maven各子模块,方便项目统一管理的作用,具有父子层级关系,标签用在父层级POM中

业务场景:一个复杂的系统包含多个模块,可用models集合的方式快速构建项目,方便管理

2、<parent>

继承标签,功能类似java的继承作用,具有父子继承关系,标签用在子POM中

业务场景:抽离子类公共依赖,统一控制版本号,如 spring-boot-starter-parent 使用

3、<dependencyManagement>

继承自该项目的所有子项目的默认依赖信息。这部分的依赖信息不会被立即解析,而是当子项目声明一个依赖(必须描述group ID和 artifact ID信息),如果group ID和artifact ID以外的一些信息没有描述,则通过group ID和artifact ID 匹配到这里的依赖,并使用这里的依赖信息,标签用在父POM中

业务场景:一般与<parent>配合使用,将父类公共依赖管理起来,按子类需要继承(加载)


4、<distributionManagement> 

项目分发信息,在执行mvn deploy后表示要发布的位置。有了这些信息就可以把网站部署到远程服务器或者把构件部署到远程仓库。


5、<pluginManagement> 

子项目可以引用的默认插件信息。该插件配置项直到被引用时才会被解析或绑定到生命周期。给定插件的任何本地配置都会覆盖这里的配置

经验总结:

1.聚合主要是为了方便快速构建项目,继承主要是为了消除重复配置;

2.对于聚合模块而言,它知道有哪些被聚合的模块,但那些被聚合的模块不知道这个聚合模块的存在;对于继承的父pom而言,它不知道有哪些子模块继承它,但那些子模块都必须知道自己的父POM是什么;

3.聚合POM与继承中的父POM的packaging都必须是pom;同时,聚合模块与继承中的父模块除了POM外,都没有实际的内容

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值