依赖配置
依赖:指当前项目运行所需要的jar包,一个项目可以引入多个依赖
配置:在pom.xml中编写<dependencies>标签
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
注意:如果引入的依赖,在本地仓库不存在,将会连接远程仓库/中央仓库,然后下载依赖
如果依赖的坐标信息部清楚,可以去Maven Repository: Search/Browse/Explore (mvnrepository.com)中搜索
依赖传递
依赖具有传递性
直接依赖:在当前项目中通过依赖配置建立的依赖关系
间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源
依赖排除:
排除依赖指主动断开依赖的资源,被排除的资源无需指定版本
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
<exclusions>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
依赖范围
依赖的jar包,默认情况下,可以在任何地方使用。可以通过<scope>...</scope>设置其作用范围
作用范围:
主程序范围有效。(main文件夹范围内)
测试程序范围有效。(test文件夹范围内)
是否参与打包运行。(package指令范围内)
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
<scope>test</scope>
</dependency>
生命周期
Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统一
Maven中有3套相互独立的生命周期:
clean:清理工作
default:核心工作,如:编译、测试、打包、安装、部署等。
site:生成报告、发布站点等。
每一套生命周期包含一些阶段(phase),阶段是有顺序的,后面的阶段依赖于前面的阶段
常见的生命周期阶段:
clean:移除上一次构建生成的文件
compile:编译项目源代码
test:使用合适的单元测试框架运行测试
package:将编译后的文件打包,如:jar、war等
install:安装项目到本地仓库
执行指定生命周期的两种方式:
在idea中,右侧的maven工具栏,选中对应的生命周期,双击执行
在命令行中,通过命令执行
mvn clean
mvn compile
mvn package
mvn test