一、安装配置
- 添加path环境变量(注:windows10中的path必须使用绝对路径)
C:\java_source\maven\apache-maven-3.5.3\bin
二、依赖库
建立一个 Maven 的项目时,Maven 会检查 pom.xml 文件,以确定哪些依赖下载。Maven 将先从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到它会从默认的 Maven 中央存储库查找下载。
Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹。建立一个Maven项目时,所有相关文件将被存储在Maven本地仓库。
三、POM(project object model,项目对象模型)
- project :pom的根元素
- 子节点:
- groupID:项目组的编号,在组织或项目中通常是独一无二的
- artifactID:项目的ID,它通常是项目的名称。
artifactId还定义了artifact在存储库中的位置
- version:项目的版本。与
groupId一起使用,artifact在存储库中用于将版本彼此分离
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yiibai.project-group</groupId>
<artifactId>project</artifactId>
<version>1.0</version>
<project>
- Super POM
- 所有的 POM 都继承自一个父 POM(无论是否显式定义了这个父 POM),它包含了一些可以被继承的默认设置。
- Maven 使用 effective pom(Super pom 加上工程自己的配置)来执行相关的目标,它帮助开发者在 pom.xml 中做尽可能少的配置,这些配置可以被方便的重写。
- 查看 Super POM 默认配置的一个简单方法是执行以下命令:mvn help:effective-pom
四、生命周期
- 生命周期包含项目的清理、初始化、编译、测试、打包、集成测试、验证、部署、站点生成等过程。
- Maven有三套相互独立的生命周期,每套生命周期都由一组阶段(Phase)组成。(在一个生命周期中,运行某个阶段的时候,它之前的所有阶段都会被运行)
-
CleanLifecycle: 在进行真正的构建之前进行一些清理工作。
- pre-clean:执行一些需要在clean之前完成的工作
- clean:移除所有上一次构建生成的文件
- post-clean:执行一些需要在clean之后立刻完成的工作
-
DefaultLifecycle: 构建的核心部分,编译,测试,打包,部署等等。(也称构建生命周期)
- validate:验证项目是否正确,以及所有为了完整构建必要的信息是否可用
- generate-sources:生成所有需要包含在编译过程中的源代码
- process-sources:处理源代码,比如过滤一些值
- generate-resources:生成所有需要包含在打包过程中的资源文件
- process-resources:复制并处理资源文件至目标目录,准备打包
- compile:编译项目的源代码
- process-classes:后处理编译生成的文件,例如对Java类进行字节码增强(bytecode enhancement)
- generate-test-sources:生成所有包含在测试编译过程中的测试源码
- process-test-sources:处理测试源码,比如过滤一些值
- generate-test-resources:生成测试需要的资源文件
- process-test-resources:复制并处理测试资源文件至测试目标目录
- test-compile:编译测试源码至测试目标目录
- test:使用合适的单元测试框架运行测试。这些测试应该不需要代码被打包或发布
- prepare-package:在真正的打包之前,执行一些准备打包必要的操作
- package:将编译好的代码打包成可分发的格式,如JAR,WAR,或者EAR
- pre-integration-test:执行一些在集成测试运行之前需要的动作。如建立集成测试需要的环境
- integration-test:如果有必要的话,处理包并发布至集成测试可以运行的环境
- post-integration-test:执行一些在集成测试运行之后需要的动作。如清理集成测试环境。
- verify:执行所有检查,验证包是有效的,符合质量规范
- install:安装包至本地仓库,以备本地的其它项目作为依赖使用
- deploy:复制最终的包至远程仓库,共享给其它开发人员和项目(通常和一次正式的发布相关)
-
SiteLifecycle :生成项目报告,站点,发布站点。
- pre-site
- site
- post-site
- site-deploy
Maven学习笔记
原文:https://www.cnblogs.com/homoj/p/9086248.html