完成ENGINEERING NOTE
Maven
记录 Maven 标准项目结构、坐标、依赖配置、作用域和依赖传递等项目管理基础。
Maven项目组织格式
使用不同的编译器会导致不同的文件组织格式,使得同一个项目不能使用不同编译器编译,而maven提供了一份标准的文件组织格式。 其标准文件格式如下:
maven-project
-src
-main 实际项目资源
-java java源代码目录
-resources 配置文件目录
-test 测试项目资源
-java
-resources
pom.xml 项目配置文件
Maven坐标
maven中的坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置。使用坐标来定义项目或引入项目中需要的依赖。 主要组成如下:
<groupId>com.coffeebar</groupId> //定义当前Maven项目隶属组织名称,通常为域名反写
<artifactId>untitled</artifactId> //定义当前Maven项目名称,通常是模块名称
<version>1.0-SNAPSHOT</version> //定义当前版本号
配置依赖
在maven中配置依赖需要在pom.xml中引入dependencies标签,如下:
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
</dependencies>
dependencies中包括了一对dependency标签。如果第一次使用某个依赖,在填写相应信息后可直接下载。依赖信息可以跳转 Maven仓库找到
- 依赖具有传递性
- 可以使用scope标签指定依赖的范围,如下:
| **scope值** | **主程序** | **测试程序** | **打包(运行)** |
| compile(default) | Y | Y | Y |
| test | Y | ||
| provided | Y | Y | |
| runtime | Y | Y |