当前位置: 首页 > news >正文

Maven-继承与聚合

Maven-继承与聚合

继承

Maven不支持多继承,一个Maven项目中只能继承一个父工程,但是Maven可以通过多重继承来达到多继承的效果。

  1. 创建父工程,在pom.xml中声明父工程的打包方式为pom(不设置打包方式默认为jar)。父工程或聚合工程模块中不写代码,仅进行依赖管理,且打包方式应设为pom。
<packaging>pom</packaging>
  1. 在父工程中配置各个工程共有的依赖,子工程会自动继承父工程的依赖。
  2. 在子工程的pom.xml中通过<parent></parent>标签声明其父工程,配置继承关系。
<parent><groupId>...</groupId><artifactId>...</artifactId><version>...</version><relativePath>....</relativePath><!--relativePath标签用来指定父工程的pom文件的相对位置(如果不指定,将从本地仓库/远程仓库查找该工程) -->
</parent>

自定义属性

当然我们也可以在pom.xml文件中通过<properties>标签来自定义属性并通过${...}的方式引用自定义标签内的属性。

  1. 自定义属性
<properties><!--自定义属性lombock.version--><lombok.version>1.18.30</lombok.version>
</properties>
  1. 引用自定义属性
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version><!--通过${}引用自定义属性lombock.version-->
</dependency>

版本锁定

我们可以在父工程的pom文件中通过标签来统一管理依赖的版本。

<!--统一管理依赖版本-->
<dependencyManagement><dependencies><dependency><groupId>...</groupId><artifactId>...</artifactId><version>...</version></dependency></dependencies>
</dependencyManagement>

该标签并不会将对应的依赖直接引入,而是只对依赖的版本进行统一管理,所以子工程在使用这个依赖的时候,仍需要引入对应依赖,只是可以不指定版本。

聚合

通过maven提供的聚合功能,我们能够一件构建项目,而不需要再去考虑各个模块打包间的依赖关系,maven的聚合功能会自动根据当前聚合工程中各个子模块的依赖关系先后进行打包操作。

聚合工程与父工程一致只有一个pom文件,并且需将打包方式也设置为pom,因此常将两个工程进行合并。需要在聚合工程(也就是父工程中)通过<moudules>标签将需要聚合的子模块聚合。

<!-- 聚合其他模块 -->
<modules><module>...</module><module>...</module><module>...</module><!-- <module> 标签中填写需要聚合模块的位置 -->
</modules>
http://www.dtcms.com/a/403861.html

相关文章:

  • 中国建设银行淮南分行网站设计官网的
  • 如何分析软件需求中的DFX需求?
  • 网站开发需求分析参考文献软件市场下载
  • MySQL笔记---对数据库(database)的操作
  • 文创网站江西合创建设工程有限公司 网站
  • 【Leetcode hot 100】124.二叉树中的最大路径和
  • 仙桃做网站找谁优化大师怎么卸载
  • 网站用户模板做网站需要的东西
  • 自定义类型之联合体、枚举
  • 计算机——信息素养和信息安全
  • php 整个网站变量实惠的制作网站
  • 不同路劲 III dfs解决
  • 海沧网站建设如何做好网站首页
  • PHP女程序猿学习Java的Day-12
  • 电商运营如何提升自身技能素质?
  • 网站开发四川网站的用户运营值得做吗
  • Android中开一个线程是ULT还是KLT
  • 动态IP的适用业务场景
  • 可以不使用备案的网站名吗网页制作网站知识
  • 怎么在百度搜索自己的网站做网站 分工
  • 符合系统国产化从mysql数据库迁移到达梦数据库需要注意的点有哪些?
  • 个人网站代码模板帝国cms网站建设
  • QML学习笔记(十二)QML的自定义组件
  • 做品牌网站找谁php网站开发视频网站
  • TESLAGLOVE为虚拟现实训练提供真实触觉反馈
  • 无锡微网站制作注册网站多久
  • HarmonyOS 5 高级动效实战:粒子系统、路径动画与物理动效开发
  • HarmonyOS 6 值得关注的核心新特性
  • FPGA实现双目摄像头红蓝3D融合,提供6套工程源码和技术支持
  • 仙游网站建设有没有好网站推荐