0
点赞
收藏
分享

微信扫一扫

【Maven】-依赖管理中配置、传递、范围及周期

一、依赖配置

依赖:指当前项目运行所需要的jar包,一个项目可以引入多个依赖

配置:

1.在pom.xml中编写<dependencies>标签

2.在<dependencies>标签中使用<dependency>引入坐标

3.定义坐标的groupld,artifactld,version

4.点击刷新按钮,引入最新加入的坐标

【Maven】-依赖管理中配置、传递、范围及周期_ci

必须得出现这一栏,才表示成功

【Maven】-依赖管理中配置、传递、范围及周期_运行测试_02

注意:如果引入的依赖,在本地仓库不存在,将会连接远程仓库/中央仓库,然后下载依赖(会比较耗时,要耐心等待)如果不知道依赖坐标的信息,可以到https://mvnrepository.com/中搜素

二、依赖传递

依赖具有传递性

【Maven】-依赖管理中配置、传递、范围及周期_运行测试_03

A项目依赖了一个JAR包和一个B项目,但是B项目还依赖了C项目和其他JAR包,因为传递的原因,A项目即使没有依赖C项目,但是因为B项目依赖了C项目,所以A也自动依赖了C项目

直接依赖:在当前项目中通过依赖配置建立的依赖关系

间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源(淡黄色部分)

【Maven】-依赖管理中配置、传递、范围及周期_生命周期_04

【Maven】-依赖管理中配置、传递、范围及周期_运行测试_05

此时我们A项目只依赖了B项目和另外一个JAR包,但是通过下图可知,B还依赖了其他的资源,所以传递给了A项目

【Maven】-依赖管理中配置、传递、范围及周期_生命周期_06

那如果我们不想让B后面的依赖传递给A怎么办呢,此时我们就可以使用排除依赖

排除依赖:排除依赖指主动断开依赖的资源,被排除的资源无需指定版本

【Maven】-依赖管理中配置、传递、范围及周期_运行测试_07

通过<exclusion>来排除B后面所依赖的JAR包

【Maven】-依赖管理中配置、传递、范围及周期_ci_08

【Maven】-依赖管理中配置、传递、范围及周期_ci_09

三、依赖范围

依赖的JAR包,默认情况下,可以在任何地方使用。可以通过<scope>...</scope>设置其作用范围

作用范围:

主程序范围有效。(main文件夹范围内)

测试程序范围有效。(test文件夹范围内)

是否参与打包运行。(package指令范围内)

【Maven】-依赖管理中配置、传递、范围及周期_运行测试_10

注意:测试的方法很简单,是否有效我们只需要看看是否能使用依赖里的类或者接口

四、生命周期

Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统一。

Maven中有3套相互独立的生命周期:

clean:清理工作

default:核心工作,如:编译、测试、打包、安装、部署等

site:生成报告、发布站点等

【Maven】-依赖管理中配置、传递、范围及周期_运行测试_11

注意:每套生命周期包含一些阶段(phase),阶段是有顺序的,后面的阶段依赖于前面的阶段

对于常见的阶段:

clean:移除上一次构建生成的文件

compile:编译项目源代码

test:使用合适的单元测试框架运行测试(junit)

package:将编译后的文件打包,如:jar、war等

install:安装项目到本地仓库

执行指定生命周期的两种方式

在idea中,右侧的maven工具栏,选中对应的生命周期,双击执行

【Maven】-依赖管理中配置、传递、范围及周期_生命周期_12

在命令行中,通过命令执行

【Maven】-依赖管理中配置、传递、范围及周期_运行测试_13

举报

相关推荐

0 条评论