Maven项目关系
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),其中最重要的就是POM文件,可以指定项目类型,项目关系等信息,maven项目之间有三种关系。
依赖关系
1.这是最常见的关系,使用<dependency></dependency>标签来引入,自动下载所依赖的项目,例如:<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
继承关系
1.父项目为pom类型,子项目为jar、war、pom类型,当子项目下面还有子项目时,子项目应为pom类型;
2.继承关系中的父子项目具有逻辑上的父子关系,父项目并不会真实包含子项目;
3.父项目创建后,子项目中用parent标签引入,例:通常我们引入Spring Boot依赖时。<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
</parent>
聚合关系
1.父项目类型为pom,一般父项目做子项目的聚合管理功能,通常只有一个pom文件;
2.父项目包含子项目,子项目在父项目的基础上新建maven module;
3.使用<dependencyManagement></dependencyManagement>声明管理可能用到的jar以及版本,子项目使用具体的依赖时仍需手动引入,但不用引入具 体的版本号,如果某个子项目需要特定版本号,重新指定version即可;
例:父项目
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>2.2.0.RELEASE</version>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
                <version>${project.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
子项目:
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
    </dependencies>
子项目只需要引入需要的依赖,版本默认采用父项目的2.2.0.RELEASE版本。
maven继承关系和聚合关系都有父子项目的关系,在使用时有不同的地方,需要我们注意。
Maven项目关系的更多相关文章
- 查看maven项目的依赖关系 mvn dependency:tree
		
maven-dependency-plugin最大的用途是帮助分析项目依赖,dependency:list能够列出项目最终解析到的依赖列表,dependency:tree能进一步的描绘项目依赖树,de ...
 - Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图(转载)
		
Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图 2017年04月05日 10:53:13 李学凯 阅读数:104997更多 所属专栏: Intellij Idea ...
 - 自动配置pom文件,构建maven项目jar包依赖关系,找到jar包运用到jmeter
		
首先说下pom文件特别方便的优点: 什么是pom文件? POM(Project Object Model) 是Maven的基础. 它是一个XML文件,包含了Maven用来build项目所需要的项目配置 ...
 - Maven项目之间的关系
		
1. 依赖关系 1.1 标签<dependency>把另一个项目的jar引入到当前项目 1.2 自动下载另一个项目所依赖的其他项目 2. 继承关系. 2.1 父项目是pom类型 2.2 子 ...
 - Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图
		
Maven 组件界面介绍 如上图标注 1 所示,为常用的 Maven 工具栏,其中最常用的有: 第一个按钮:Reimport All Maven Projects 表示根据 pom.xml 重新载入项 ...
 - 手动创建Maven项目并建立两个项目之间的依赖关系
		
用命令行快速建立maven项目 -> mvn:archetype:generate -> 直接回车或者自己输入你想生成的 -> groupId ->artifactId -&g ...
 - IDEA maven项目查自动查看依赖关系,解决包冲突问题
		
在maven项目中找到pom.xml,打开. <dependencies> <dependency> <groupId>org.apache.storm</g ...
 - Maven项目之间关系介绍
		
Maven项目之间的关系 依赖关系 单纯的项目A中需要项目B中的资源,将项目B打成Jar包被A依赖,此时项目A直接调用项目B中资源即可. 项目A和项目B此时形成最基本的依赖关系. 继承关系 需要场景: ...
 - Jenkins_多项目构建(二):使用Maven聚集关系
		
一.假设有四个Maven项目 1.soa-dub-parent:父项目 1 2 3 4 5 <modules> <module>../soa-dub-f ...
 
随机推荐
- java安全编码指南之:Thread API调用规则
			
目录 简介 start一个Thread 不要使用ThreadGroup 不要使用stop()方法 wait 和 await 需要放在循环中调用 简介 java中多线程的开发中少不了使用Thread,我 ...
 - 洛谷 P6602 数轴
			
时光倒流+暴力+尺取 第一次看到这题,是在神子杏的课堂上 这就是一个裸的双指针,洛咕上多倍经验的题太多了. --神子杏 那好,我们就用双指针来考虑这道题. 首先可以发现 答案区间$ (l,r) $ 一 ...
 - mysql query cache 查询缓存
			
查看本博文,并进行验证(验证结果与博文一致): https://blog.csdn.net/carmazhao/article/details/7088530 mysql默认是开启查询缓存的. 设置查 ...
 - 浅谈1——用Eclipse调试JAVA程序
			
本篇博客主要介绍如何用Eclipse调试简单的JAVA程序. 1.如下图,一个简单的JAVA程序 2.设置断点. 方法:选中需设置断点的行代码,按快捷键Ctrl+Shift+B,设置断点: 断点设置 ...
 - JUC之线程池-三大方法-七大参数-四种拒绝策略
			
线程池:重点 三大方法 七大参数 四种拒绝策略 使用池化技术的理由: 我们的程序伴随着创建销毁线程十分浪费资源, 所以使用线程池,先创建线程,随用随取,用完归还 简单来说就是节约了资源. 使用线程池的 ...
 - 关于Python的面相对象编程
			
Python 其实不是面向对象的语言,更像是C语言的面向过程编程的语言 但 Python 也支持 class 关键字来实现类的声明与创建 但 Python 的对象更像是 JavaScript 的函数 ...
 - webpack4的安装使用
			
1.全局安装Webpack 安装到全局后你可以在任何地方共用一个 Webpack 可执行文件( 也就是说可以直接在终端使用webpack的命名 ,例如:webpack --config webpack ...
 - Java安全之Commons Collections5分析
			
Java安全之Commons Collections5分析 文章首发:Java安全之Commons Collections5分析 0x00 前言 在后面的几条CC链中,如果和前面的链构造都是基本一样的 ...
 - 【Aspose.Words for Java】 对word文档,增加页眉,页脚,插入内容区图像,
			
一.环境准备 jar包:aspose-words-20.4.jar 或者去官方网站下载: 官方网站:https://www.aspose.com/ 下载地址:https://downloads.asp ...
 - Java学习的第十六天
			
1. 向上转型 向下转型 静态绑定 2.无问题 3.明天学习static关键字和final关键字