一、Maven下载及安装
下载地址:http://maven.apache.org/download.cgi
下载过后解压,并配置环境变量,例我的maven是安装在E:\Program Files (x86)
里面的,所以我要在环境变量的path下添加E:\Program Files (x86)\apache-maven-3.5.4\bin
验证是否安装成功,输入命令mvn -v
,如果出现maven版本号就说明安装成功。
二、Maven目录约定
三、Maven的配置
Maven的配置文件有两个
1.安装的地方:${M2_HOME}/conf/settings.xml
2.用户的目录:${user.home}/.m2/settings.xml
前者又被叫做全局配置,对操作系统的所有使用者生效;后者被称为用户配置,只对当前操作系统的使用者生效。如果两者都存在,它们的内容将被合并,并且用户范围的settings.xml会覆盖全局的settings.xml。
- 配置文件setting.xml文件解读
参考文章:https://blog.csdn.net/u012152619/article/details/51485152
- 修改本地jar包存放仓库位置
默认从Maven中央仓库下载到本地的jar包存放在C:\用户\用户名\ .m2\repository
里面的,这对于系统盘空间不够的人来说简直是噩梦。先在一个空间大的磁盘目录下创建一个文件夹repository
,然后修改``E:\Program Files (x86)\apache-maven-3.5.4\conf文件夹里面的
setting.xml`文件,在后面添加下面代码:
1 | <localRepository>E:/repository</localRepository> |
- 配置阿里云镜像
阿里云maven仓库地址:https://maven.aliyun.com/mvn/view
在setting.xml配置文件中找到mirrors
节点,然后在该节点下添加如下内容:
1 | <mirror> |
四、Maven pom.xml文件
1 | <!--这个元素描述了项目相关的所有资源路径列表,例如和项目相关的属性文件,这些资源被包含在最终的打包文件里。 --> |
1 | <!--发现依赖和扩展的远程仓库列表。 --> |
1 | <!--该元素描述了项目相关的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。要获取更多信息,请看项目依赖机制。 --> |
五、Maven仓库
使用阿里私服仓库例子:
1 | <repositories> |
当我们执行 Maven 构建命令时,Maven 开始按照以下顺序查找依赖的库:
- 步骤 1 - 在本地仓库中搜索,如果找不到,执行步骤 2,如果找到了则执行其他操作。
- 步骤 2 - 在中央仓库中搜索,如果找不到,并且有一个或多个远程仓库已经设置,则执行步骤 4,如果找到了则下载到本地仓库中以备将来引用。
- 步骤 3 - 如果远程仓库没有被设置,Maven 将简单的停滞处理并抛出错误(无法找到依赖的文件)。
- 步骤 4 - 在一个或多个远程仓库中搜索依赖的文件,如果找到则下载到本地仓库以备将来引用,否则 Maven 将停止处理并抛出错误(无法找到依赖的文件)。
即 本地—->中央—->远程(私服)
六、Maven插件
Maven 实际上是一个依赖插件执行的框架,每个任务实际上是由插件完成。
插件通常提供了一个目标的集合,并且可以使用下面的语法执行:
1 | <code>mvn [plugin-name]:[goal-name]</code> |
例如,一个 Java 工程可以使用 maven-compiler-plugin 的 compile-goal 编译,使用以下命令:
1 | <code>mvn compiler:compile</code> |
下面是一些常用插件的列表:
插件 | 描述 |
---|---|
clean | 构建之后清理目标文件。删除目标目录。 |
compiler | 编译 Java 源文件。 |
surefile | 运行 JUnit 单元测试。创建测试报告。 |
jar | 从当前工程中构建 JAR 文件。 |
war | 从当前工程中构建 WAR 文件。 |
javadoc | 为工程生成 Javadoc。 |
antrun | 从构建过程的任意一个阶段中运行一个 ant 任务的集合。 |
七、Maven生命周期
阶段 | 处理 | 描述 |
---|---|---|
验证 validate | 验证项目 | 验证项目是否正确且所有必须信息是可用的 |
编译 compile | 执行编译 | 源代码编译在此阶段完成 |
测试 Test | 测试 | 使用适当的单元测试框架(例如JUnit)运行测试。 |
包装 package | 打包 | 创建JAR/WAR包如在 pom.xml 中定义提及的包 |
检查 verify | 检查 | 对集成测试的结果进行检查,以保证质量达标 |
安装 install | 安装 | 安装打包的项目到本地仓库,以供其他项目使用 |
部署 deploy | 部署 | 拷贝最终的工程包到远程仓库(私服)中,以共享给其他开发人员和工程 |
八、Maven命令
1 | 1. 创建Maven的普通java项目: |
参考文章:
https://www.cnblogs.com/xdp-gacl/p/3498271.html
https://mp.weixin.qq.com/s/RQz6P3S6Vzh13FZ3QGII-w
https://www.cnblogs.com/phoebus0501/archive/2011/05/10/2042511.html