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

Maven的继承和聚合

Maven继承

指的是,子项目继承父级Maven项目的配置信息(pom.xml)

  1. 在父级pom.xml中,使用<dependencies>标签包裹的依赖,将会无条件传递给子级,与依赖范围无关

    <!-- 父级pom.xml,三种依赖都将会传递给子级 -->
    <dependencies>
    	<dependency>
    		<groupId>com.alibaba</groupId>
    		<artifactId>druid</artifactId>
    		<version>1.2.8</version>
    	</dependency>
    	<dependency>
        	<groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.10.2</version>
            <scope>test</scope> <!-- 与依赖范围无关 -->
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope> <!-- 与依赖范围无关 -->
        </dependency>
    </dependencies>
    
  2. 在父级pom.xml中,使用<dependencyManagement>标签包裹的依赖,默认不会传递给子级,需要子级手动引入相关依赖,父级只做依赖的版本管理

    <!-- 父级pom.xml,将所有依赖放入dependencyManagement中,只是用于版本管理,默认不会将这些依赖传递给子级 -->
    <dependencyManagement>
    	<dependencies>
    		<dependency>
    			<groupId>com.alibaba</groupId>
    			<artifactId>druid</artifactId>
    			<version>1.2.8</version>
    		</dependency>
    		<dependency>
            	<groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-api</artifactId>
                <version>5.10.2</version>
                <scope>test</scope> <!-- 与依赖范围无关 -->
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>3.1.0</version>
                <scope>provided</scope> <!-- 与依赖范围无关 -->
            </dependency>
    	</dependencies>
    </depedencyManagement>
    
    <!-- 在子级pom.xml中,需手动引入想要的依赖,此时无需指明version,会读取父级对应依赖的version -->
    <dependencies>
    	<dependency>
        	<groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
        </dependency>
    </dependencies>
    

Maven聚合

指的是,当对父项目进行构建等操作时,自动会构建其内的所有子项目

<!-- 在父级pom.xml中声明modules标签即可,module存放的是子工程的路径 -->
<modules>
	<module>maven_child1</module>
	<module>../maven_child2</module>
</modules>

相关文章:

  • 55.HarmonyOS NEXT 登录模块开发教程(九):部署与发布
  • Qt信号与槽
  • 使用AI一步一步实现若依前端(13)
  • DeepSeek R1 与 ktransformers:结合苹果 M4 Mac 的 LLM 推理深度分析
  • 在 Windows 上使用 choco 安装 mkcert 并配置 Vue 运行HTTPS
  • HCIA-11.以太网链路聚合与交换机堆叠、集群
  • 通俗易懂动态表单自定义字段解决方案
  • mapbox高阶,结合threejs(threebox)添加extrusion挤出几何体,并添加侧面窗户贴图和楼顶贴图
  • 【3DGS】SuperSplat本地运行+修改监听端口+导入ply模型+修剪模型+在线渲染3DGS网站推荐
  • Python----数据可视化(Pyecharts一:介绍安装,全局配置,系列配置)
  • 设置IDEA的内存
  • 代码随想录刷题day44|(二叉树篇)404.左叶子之和
  • LInux基础--apache部署网站
  • Adobe Photoshop下载安装和使用教程
  • 【GPT入门】第18课 langchain介绍与API初步体验
  • 初阶数据结构(C语言实现)——5.3 堆的应用(1)——堆排序
  • Java Web大文件下载:从卡顿到丝滑的优化之旅
  • Babylon.js的Shader入门一(从只有一个颜色的Shader说起)
  • 关于Go中使用goroutine协程实现的算法
  • 前端面试:axios 请求的底层依赖是什么?
  • 上海这场有温度的“人才集市”,为更多人才搭建“暖心桥”
  • 2025全球城市科技传播能力指数出炉,上海位列第六
  • 特朗普政府涉税改法案遭众议院预算委员会否决
  • 一图读懂丨创新创业人才最高补贴500万元!临港新片区发布创客新政“十二条”
  • 梅花奖在上海|舞剧《朱鹮》,剧里剧外都是生命的赞歌
  • 外交部介绍对巴西、阿根廷、智利、秘鲁、乌拉圭等5国试行免签政策