Maven介绍
Maven是一个Java项目管理和构建工具
Maven使用pom.xml定义项目内容,并使用预设的目录结构
在Maven中声明一个依赖项可以自动下载并导入classpath
Maven使用groupId,artifactId和version唯一定位一个jar包
常用的4种scope
compile(默认)
test
runtime
provided
构建流程
理解Maven的概念:Lifecycle,Phase(阶段)和Goal(目标):
使用Maven构建项目就是执行Lifecycle
执行Lifecycle就是按顺序执行一系列Phase
每执行一个Phase,都会执行该Phase绑定的若干Goal
Goal是最小执行任务单元
常用的命令:mvn clean package(不会打包依赖的jar)
使用插件
Maven通过自定义插件可以执行项目构建时需要的额外功能
在pom.xml中声明插件及配置
插件会在某个Phase被执行
插件的配置和用法需参考插件官方文档
常用插件:
maven-shade-plugin -- 编译可执行的jar,包含项目中依赖的插件
cobertura-maven-plugin --做测试用的插件
findbugs-maven-plugin --查找代码中bug的插件
模块管理
Maven支持模块化管理,可以把一个大项目拆成几个模块
可以通过继承在parent的pom.xml统一定义重复配置
可以通过<modules>编译多个模块