依赖配置
- 依赖:指当前项目运行所需要的jar包,一个项目中可以引入多个依赖。
- 配置:
- 在pom.xml中编写<dependence>标签
- 在<dependencies>标签中使用<dependency>引入标签
- 定义坐标的groupId,artifactId,version
- 点击刷新按钮,引入最新加入的坐标
代码演示如下:
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.10</version>
</dependency>
</dependencies>
注意事项:
- 如果引入的依赖,在本地仓库不存在,将会连接远程仓库/中央仓库,然后下载依赖。(这个过程会有些耗时,耐心等待)
- 如果不知带依赖的坐标信息,可以到mvnrepositort.com (mvnrepository.com)中搜索
依赖传递
- 依赖具有传递性
- 直接依赖:在当前项目中通过依赖配置建立的依赖关系
- 间接依赖:被依赖的资源如果依赖其他资源,当前项目简介依赖其他资源
如图所示:
在项目当中也可以看到类似的图表,在pom.xml文件中点击右键。会显示一个Diagrams。选择Show Dependencies。
- 排除依赖:排除依赖是指主动断开依赖的资源,被排除的资源无需指定版本。
代码演示如下:
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.10</version>
<exclusions>
<exclusion>
<groupId></groupId>
<artifactId></artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
注意:这步操作是在<dependency></dependency>里面完成的!
依赖范围
依赖的jar包,默认情况下,可以在任何地方使用。可以通过<scope>…</scope>设置其作用范围。
作用范围:
- 主程序范围有效(main文件夹范围)
- 测试程序范围有效(test文件夹范围内)
- 是否参与打包运行(package指令范围内)
生命周期
Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统一。
Maven中有3套相互独立的生命周期:
- clean:清理工作
- default:核心工作,如:编译、测试、打包、安装、部署等。
- site:生成报告、发布站点等。
在整个生命周期阶段主要要掌握的是以下几个方面:
- clean:一处上一次构建生成的文件
- compile:编译项目源代码
- test:使用合适的单元测试框架运行测试(junit)
- package:将编译后的文件打包,如:jar、war等
- install:安装项目到本地仓库
注意事项:在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行。
这里就有聪明的人要问了,假如我现在要运行install,是不是会先执行clean这一步操作。
还记得前面说的吗,Maven中有三套相互独立的生命周期。clean是属于clean生命周期,而instal是属于default生命周期。所以并不会执行clean这一步操作。
执行指定生命周期的两种方式:
- 在idea中,右侧的maven工具栏,选中对应的生命周期,双击执行。
- 在命令行中,通过命令执行。