依赖配置
依赖指的是项目在运行时所需要的jar包,一个项目中可以引入多个依赖
配置方法
1.在项目pom.xml中编写
<dependencies>
标签
2.在<dependencies>
标签中使用<dependency>
引入坐标
3.定义坐标的groupId,artifactId,version
4. 刷新按钮,引入最新加入的坐标
ps:如果我们本地没有这个依赖需要从中央仓库或私服中下载,需要消耗一定时间
可以试着把这个依赖加进去
<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version></dependency>
成果加入以后应该在项目的依赖中能找到我们这项依赖。
依赖传递
如下图所示,项目 A 依赖于项目 B,B 又依赖于项目 C,此时 B 是 A 的直接依赖,C 是 A 的间接依赖。
Maven 的依赖传递机制是指:不管 Maven 项目存在多少间接依赖,POM 中都只需要定义其直接依赖,不必定义任何间接依赖,Maven 会动读取当前项目各个直接依赖的 POM,将那些必要的间接依赖以传递性依赖的形式引入到当前项目中。Maven 的依赖传递机制能够帮助用户一定程度上简化 POM 的配置。
排除依赖
排除依赖指主动断开依赖的资源,被排除的资源无需指定版本。
通过<exclusion>
标签进行排除依赖
依赖范围
依赖的jar包,默认情况下,在任何地方都可以使用。
如果想控制,则可以通过<scope></scope>
进行设置作用范围
作用范围:
- 主程序范围有效 (main文件夹范围)
- 测试程序范围有效 (test文件范围内)
- 是否参与打包运行 (package指令范围内)
<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.3</version><scope>test</scope> <!--scope设置--></dependency>
Maven生命周期
Maven拥有三套相互独立的生命周期,分别是clean、default和site.
clean的目的是清理项目。
每套生命周期都由一组阶段(Phase)组成,我们平时在命令行输入的命令总会对应于一个特定的阶段。比如,运行mvn clean ,这个的clean是Clean生命周期的一个阶段。有Clean生命周期,也有clean阶段。
包含3个阶段:
1.pre-clean 执行一些清理前需要完成的工作
2.clean 清理上一次构建过程中生成的文件,比如编译后的class文件等
3.post-clean 执行一些清理后需要完成的工作
default 是构建的核心部分,编译,测试,打包,部署等等,他包括下面几个主要的阶段。
generate-resources: 产生主代码中的资源在classpath中的包
process-resource: 复制并处理资源文件,至目标目录,准备打包。
compile: 编译项目的主源码.一般来说:编译src/main/java目录下的java文件至项目输出的主classpath目录中
test-compile:编译项目的测试代码,是编译src/test/java目录下的java文件至项目输出的测试classpath目录中
test: 使用单元测试框架运行测试,测试代码不会被打包或部署.
package:打包成可发布的格式
install:将包安装到Maven本地仓库,供本地其他Maven项目使用
deploy:将最终的包复制到远程仓库,供其他开发人员和Maven项目使用
site 主要用于生成项目报告,站点,发布站点。
目的是建立和发布项目站点,包括下面几个主要的阶段。
pre-site 执行一些在生成项目站点之前需要完成的工作.
site 生成项目站点文档
post-site 执行一些在生成项目站点之后需要完成的工作.
site-deploy 将生成的项目站点发布到服务器上