一、Maven是什么
1. 构建工具
实现自动化构建,从清理、编译、测试、生成报告、打包、部署;
最大程度消除重复构建、抽象了构建生命周期、为绝大多数的构建任务提供了已实现的插件。
2. 项目信息管理工具
管理分布在项目各个角落的各种信息:项目描述、开发者列表、版本控制系统地址、许可证、缺陷管理系统地址等等;
已有插件的项目文档、测试报告、静态分析报告、源码版本日志报告等
3. 免费的中央仓库
4. 项目规范
定义了项目目录结构、测试用例命名方式等既定规则,降低项目切换时的学习成本
二、零碎的笔记
1. POM
Project Object Model,项目对象模型,定义了项目的基本信息,描述项目如何构建、声明项目依赖等,POM.xml是maven的核心。
maven最大程度地使POM与实际代码相对独立,解耦,尽量避免Java和POM代码之间的相互影响。
2. 常见标签的含义
<groupId>:一般和公司、组织挂钩
<artifactId>:项目名
<version>:版本号,SNAPSHOT是快照版本,不是稳定版本
<scope>:依赖范围,test-只对测试有效;compile-默认值,对主代码和测试代码均有效
3. 常见的maven指令
mvn clean compile:编译
mvn clean test:执行测试。注,测试之前,会先自动进行项目主资源处理、主代码编译、测试资源处理、测试代码编译等工作。
mvn clean package:打包。执行顺序:编译》测试》打包
mvn clean install:安装。执行顺序:编译》测试》打包》将包部署到本地maven仓库
mvn clean deploy:部署。执行顺序:编译》测试》打包》将包部署到本地maven仓库》部署到远端私服仓库
4. 项目骨架
目录的POM.xml、src/main/java中的主代码、src/test/java中的测试代码,构成maven的项目骨架。