Maven的核心概念
- 约定的目录结构
- POM
- 坐标
- 依赖
- 仓库
- 生命周期/插件/目标
- 继承
- 聚合
Maven项目的目录结构:
根目录:工程名
src目录:源码
pom.xml文件: Maven工程的核心配置文件
main目录:存放主程序
test目录: 存放测试程序
java目录: 存放java源文件
resources目录: 存放框架或其他工具的配置文件
为什么要遵守约定的目录结构:
- Maven要负责项目的自动化构建,以编译为例,Maven要想自动进行编译,那么它必须知道java源文件保存在哪里。
- 如果我们自己自定义的东西想要让框架或工具知道。有两种方法:
- 以配置的方式明确告诉框架。
- 遵守框架内部存在的约定。
约定 > 配置 > 编码
常用的Maven命令
执行与构建过程相关的Maven命令,必须进入pom.xml所在的目录。
常用的命令
- mvn clean:清理
- mvn compile:编译主程序
- mvn test-compile: 编译测试程序
- mvn test:执行测试
Maven的核心程序中仅仅定义了抽象的生命周期。但是具体的工作必须由特定的插件完成。但插件本身并不在核心程序中。
当我们执行的Maven命令需要用到某些插件时,Maven核心程序会首先到本地仓库中查找。
本地仓库默认的位置:[系统当前用户的家目录].m2\repository
系统家目录指的是C盘中用户文件夹下与自己电脑名相同的目录。
Maven核心程序如果在本地仓库中找不到需要的插件,那么它会自动连接外网,到中央仓库下载。下载只需要下载一次。如果无法联网,则无法下载。
修改默认本地仓库的位置可以让Maven核心程序到我们事先准备好的目录下查找插件:
- 找到Maven解压目录下的\conf\settings.xml.
- 在settings.xml文件中找到localRepository标签。
- 将<localRepository>/path/to/local/repo</localRepository>从注释中取出。
- 将标签体的内容改为已经准备好的Maven仓库目录。