Maven
Maven
概述
Maven是一款管理和构建Java项目的工具。基于POM(项目对象模型)的概念,通过一小段描述来管理项目
Maven坐标,唯一标识和定位一个项目
groupId:组织
artifactId:模块名称
version:版本
仓库:用于存储资源,管理jar包
本地仓库:自己计算机上的一个目录
中央仓库:由Maven团队维护的全球唯一的仓库
远程仓库:一般由公司团队搭建的私有仓库
使用顺序:本地仓库>远程仓库>中央仓库
依赖管理
依赖:指当前项目运行所需的jar包
配置依赖(在IDEA中)
- 在pom.xml中编写
标签 - 在
标签中使用 引入坐标 - 定义坐标的groupId,artifactId,version
- 点击刷新按钮,引入最新加入的坐标
1 | <dependencyies> |
依赖传递
依赖具有传递性
-
直接依赖:在当前项目中通过依赖配置建立的关系
-
间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源
-
排除依赖:主动断开依赖的资源,被排除的资源无需指定版本
-
<exclusions> <exclusion> <groupId></groupId> <artifactId></artifactId> </exclusion> </exclusions>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
### 依赖范围
| scope值 | 主程序 | 测试程序 | 打包(运行) | 范例 |
| :-----------: | :----: | :------: | :----------: | :---------: |
| compile(默认) | Y | Y | Y | log4j |
| test | - | Y | - | junit |
| provided | Y | Y | - | servlet-api |
| runtime | - | Y | Y | jdbc驱动 |
可以通过下面的xml标签来设置依赖范围
```xml
<scope>...</scope>
-
生命周期
每套生命周期包含一些阶段(phase),阶段是有顺序的,后面的阶段依赖于前面的阶段。(运行后面的阶段,前面的阶段也会运行)
生命周期阶段(常见)
常见生命周期阶段 | |
---|---|
clean | 移除上一次构建生成的文件 |
compile | 编译项目源代码 |
test | 使用合适的单元测试框架运行测试 |
package | 将编译后的文件打包,如:jar、war等 |
install | 安装项目到本地仓库 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 KuoZ's blog!