maven 继承和聚合的区别

news2025/1/14 1:09:15

maven 继承和聚合的区别

参考 https://cloud.tencent.com/developer/article/1397748

继承

  • 目的:统一管理version版本,少写冗余代码。
  • 使用:
    • 父类pom不写业务,只写 pom的jar包版本等信息,
    • 子类中使用 parent 标签,指定 父类的 坐标,从而继承 父类pom的某些值
      • 比如,父类的groupId,artifactId, version;properties, dependencyversion 版本等,
    • 父类中一般用 dependencyManagement 标签,字类需要引入的直接用 dependency标签,无需version
    • 父类中的 dependency与dependencyManagement区别:父类的Dependency会强制引入子类,dependencyManagement只是声明,不会强制被子类继承过去,子类需要显示引入才行。
  • 案例:源码地址
    父工程的pom
    <groupId>com.xuxueli</groupId>
    <artifactId>xxl-job</artifactId>
    <version>2.4.0-SNAPSHOT</version>
    <packaging>pom</packaging> <!--重要-->
    
    <properties>
    	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    	<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>	    
    </properties>
    
    子工程的pom
    <parent>
    	<groupId>com.xuxueli</groupId>
    	<artifactId>xxl-job</artifactId>
    	<version>2.4.0-SNAPSHOT</version>
    </parent>
    <artifactId>xxl-job-admin</artifactId>
    <packaging>jar</packaging>
    
    在这里插入图片描述

聚合

  • 目的:方便1次性构建多个代码模块,maven 1次执行,可同时编译打包多个模块

  • 使用:

    • 聚合工程的pom中,新增 标签 <modules>,指定子模块的名字
    • 打包时,直接在聚合工程的pom上右键,maven clean package 即可实现 1次性打包3个工程
  • 案例:源码地址
    聚合工程的pom

    <modules>
    	<module>xxl-job-core</module>
    	<module>xxl-job-admin</module>
    	<module>xxl-job-executor-samples</module>
    </modules>
    

    在这里插入图片描述

总结

在实际项目中,大家会发现一个 pom 既是聚合 pom,又是父 pom,这么做主要是为了方便。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/117694.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32G473CBT6关于ADC采集的总结

STM32G473CBT6单片机在浮点运算&#xff0c;信号采集、数据处理方面有很大的用途。因相关的资料较少&#xff0c;特此做一下笔记&#xff0c;方便后期使用。STM32CubeMX软件比较强大&#xff0c;兼容IAR和keil方便直接生成代码文件&#xff0c;但相关的库不熟悉&#xff0c;好东…

【Web安全】应用层拒绝服务攻击

目录 1、DDOS简介 &#xff12;、应用层DDOS 2.1 &#xff23;&#xff23;攻击 2.2 限制请求频率 2.3 道高一尺&#xff0c;魔高一丈 3、验证码 &#xff23;&#xff21;&#xff30;&#xff34;&#xff23;&#xff28;&#xff21; 4、防御应用层DDOS 5、资源…

章节五:RASA NLU组件介绍--语言模型和分词器

​ 这里写目录标题一、前言二、语言模型组件1、MitieNLP2、SpacyNLP三、分词器1、WhitespaceTokenizer2、JiebaTokenizer3、MitieTokenizer4、SpacyTokenizer5、自定义分词器一、前言 RASA在处理对话时&#xff0c;整体流程是pipeline结构&#xff0c;自然语言理解&#xff08…

【漏洞分析】Apache ShardingSphere-Proxy <5.3.0 身份认证绕过

漏洞简介 2022年12月22日&#xff0c;Apache 官方公告发布 ShardingSphere-Proxy 5.3.0 之前版本存在身份绕过漏洞&#xff08;CVE-2022-45347&#xff09;。当 ShardingSphere-Proxy 使用 MySQL 作为后端数据库时&#xff0c;由于 ShardingSphere-Proxy 在客户端认证失败后没…

Linux-脚本安装jdk(使用jdk压缩包方式)

1、下载Linux版jdk oracle官网:Java Downloads | Oracle 2、上传jdk到linux 在linux中软件一般安装到/usr/local目录中 3、将jdk解压 解压命令: tar -zxvf jdk-8u301-linux-x64.tar.gz 将解压后的jdk改名为jdk8 mv jdk1.8.0_301 jdk8 4、配置jdk环境变量 使用vi打开/etc/p…

Java 面试题 (六) --------- 框架相关

1、什么是 Spring 框架&#xff1f;Spring 框架有哪些主要模块&#xff1f; Spring是一个控制反转和面向切面的容器框架。 Spring有七大功能模块&#xff1a; 1、Core Core模块是Spring的核心类库&#xff0c;Core实现了IOC功能。 2、AOP Apring AOP模块是Spring的AOP库&…

FLTK的UI设计工具FLUID使用方法总结

tags: FLTK C GUI 写在前面 终于又捡起来FLTK了, 先来看看怎么通过FLUID创建一个图形界面并完成回调函数的创建, 参考的是官方教程中关于创建一个CubeView程序的例子, 教程里面很多都与最新版本的FLTK界面不太一致, 但是通过我的摸索还是找出了方法. 下面来分享一下. 创建类…

centos7搭建mysql5.6

检查是否安装mysql rpm -qa | grep mysql 检查已安装的Mariadb rpm -qa | grep -i mariadb 卸载已安装的Mariadb数据库 rpm -qa | grep mariadb | xargs rpm -e --nodeps 下载mysql5.6安装包文件 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm安…

详解什么是Polygon跨链桥| Tokenview

Polygon是一个Layer2网络&#xff0c;用于解决以太坊的吞吐量和主权挑战。尽管以太坊是最受欢迎的区块链开发平台&#xff0c;但它的吞吐量很低&#xff0c;不适合某些应用程序。Polygon提供特定于应用程序的、与以太坊兼容的侧链&#xff0c;将独立链的可扩展性和独立性与以太…

自学开发技术,从入门到入行

今天我们不谈技术&#xff0c;也不聊业务&#xff0c;说说学习技术的心得。 说到学习这种事情&#xff0c;无论是学什么&#xff0c;都需要持之以恒&#xff0c;拥有坚持的决心才有可能会学到一些东西。如果只是三天打鱼&#xff0c;两天晒网的态度&#xff0c;不出差错的话&a…

ORB-SLAM2 --- Tracking::TrackLocalMap函数

目录 1.函数作用 2.函数步骤 3.code 4.函数解释 ORB-SLAM2 --- Tracking::UpdateLocalKeyFrames函数https://blog.csdn.net/qq_41694024/article/details/128307627 1.函数作用 在跟踪得到当前帧初始姿态后&#xff0c;现在对local map进行跟踪得到更多的匹配&#xff0…

《迷你世界》亿级玩家都在用的游戏场景推荐系统长啥样?

导读&#xff1a;中国TOP1沙盒游戏&#xff0c;如何解决数据存储难题&#xff1f; 提到推荐系统&#xff0c;很多人都在电商购物、资讯或娱乐平台中体验过。比如&#xff0c;你刚在某电商APP买了一部手机&#xff0c;过两天再登录时&#xff0c;首页推荐中必定有耳机、手机壳等…

【信息安全】seed-labs实验-Secret-Key Encryption Lab

目录Task 1: Frequency AnalysisTask 2: Encryption using Different Ciphers and ModesTask 4: PaddingTask 5: Error Propagation – Corrupted Cipher TextTask 6: Initial Vector (IV) and Common MistakesTask 6.1. IV ExperimentTask 6.2. Common Mistake: Use the Same …

python源代码打包成为exe文件

目录标题前言下载安装模块&#xff08;pyinstaller&#xff09;执行打包命令1、在cmd中进入项目文件2、执行pyinstaller命令成exe文件3、找到exe文件报错以及解决报错X1解决方法&#xff1a;报错X2解决方法&#xff1a;写在最后前言 大家都知道我们在pycharm中编写的源代码&am…

如何在 15 分钟内度量 DORA 指标?

在这篇文章中&#xff0c;我们将介绍 DevOps 四个关键指标——DORA 指标是什么&#xff0c;其度量难点&#xff0c;以及如何基于开源工具快速实现 DORA 指标的持续追踪。如果你熟悉 DORA 指标&#xff0c;可以直接跳到本文第二部分。 什么是 DORA 指标&#xff1f; DORA 的全…

设备树的使用

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、设备树的概念&#xff1f;二、设备树的作用三、如何使用设备树1.设备树的位置2.设备树的语法认识DTC、DTS、DTSI、DTB设备节点信息3.添加自己的设备树节点4.…

STM32MP157驱动开发——SPI驱动

STM32MP157驱动开发——SPI驱动一、简介1.SPI介绍2.STM32MP1 SPI介绍3. ICM-20608 简介4.Linux下的SPI框架二、驱动开发1&#xff09;IO 的 pinctrl 子节点创建与修改2&#xff09;SPI 设备节点的创建与修改3&#xff09;ICM20608驱动4&#xff09;测试App5&#xff09;运行测试…

【分享】订阅用友U8集简云连接器同步费用审批数据至用友U8系统

方案简介 集简云通过与钉钉连接平台深度融合&#xff0c;实现OA审批通过后&#xff0c;将采购、报销、收款、售后等费用审批单数据自动同步至用友U8系统&#xff0c;大大提高了企业日常采购、报销、付款等的工作效率&#xff0c;实现企业业务流程的自动化&#xff0c;为企业降…

Docker的数据管理

目录 一、数据卷 二、数据卷容器 三、容器互联 容器中管理数据主要有两种方式&#xff1a; 数据卷&#xff08;Data Volumes&#xff09;数据卷容器&#xff08;Data Volume Dontainers&#xff09; 一、数据卷 数据卷是一个供容器使用的特殊目录&#xff0c;位于容器中。可…

5点电容式触摸屏控制芯片GT811介绍

5点电容式触摸屏控制芯片GT811简介 5点电容式触摸屏控制芯片GT811&#xff0c;采用投射式电容检测原理&#xff0c;由16个驱动通道与10个感应通道组成触摸检测网络&#xff0c;通过内置模拟放大电路、数字运算模块&#xff0c;及高性能MPU得到实时准确的触摸信息&#xff0c;并…