依赖配置
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
</dependencies>
依赖传递
被依赖的资源如果依赖其他资源, 当前项目间接依赖其他资源
<dependencies>
<dependency>
<groupId>com.itheima</groupId>
<artifactId>maven-projectB</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
排除依赖
主动断开依赖的资源, 被排除的资源无需指定版本
<dependencies>
<dependency>
<groupId>com.itheima</groupId>
<artifactId>maven-projectB</artifactId>
<version>1.0-SNAPSHOT</version>
<!--排除依赖: 排除项目B中依赖的junit-->
<exclusions>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
依赖范围
- 依赖的jar包, 默认情况下, 可以在任何地方使用.
- 可以通过
<scope>...<scope>
设置其作用范围. - 作用范围:
- 主程序范围有效(main文件夹范围内)
- 测试程序范围有效(test文件夹范围内)
- 是否参与打包运行(package指令范围内)
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
生命周期
Maven中有3套相互独立的生命周期
- clean: 清理工作.
- default: 核心工作, 如: 编译, 测试, 打包, 安装, 部署等.
- site: 生成报告, 发布站点等.
每套生命周期包含一些阶段, 在同一套生命周期中, 当运行后面的阶段时, 前面的阶段都会运行.
常见的5个阶段
- clean: 移除上一次构建生成的文件.
- compile: 编译项目源代码.
- test: 使用合适的单元测试框架运行测试(junit).
- package: 将编译后的文件打包, 如: jar, war等.
- install: 安装项目到本地仓库.
参考
黑马程序员. JavaWeb开发教程