Maven介绍
Java项目的构建工具经历了Ant,Maven,Gradle几个阶段。Maven 是在Ant的基础上演变过来的,是一个跨平台的项目管理工具,主要用于Java项目的自动构建、依赖管理、信息管理等。
Maven包含了:
l 一个项目对象模型(Project Object Model)
l 一组标准集合
l 一个项目生命周期(Project Lifecycle)
l 一个依赖管理系统(Dependency Management System)
l 用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑
Maven生命周期
生命周期就是一个项目从无到有的整个过程,这个过程里包含了多个阶段(如编译,测试,打包,部署),每个阶段就叫做生命周期阶段。Maven的生命周期是抽象的,这意味着生命周期本身不做任何实际的工作,在Maven的设计中,实际的任务(如编译源代码)都交由插件完成。在命令行输入maven命令往往就对应了生命周期阶段,如mvn package就表示执行默认生命周期阶段package(打包)
Maven有三套相互独立的生命周期:
l Clean Lifecycle: 在进行真正的构建之前进行一些清理工作。
l Default Lifecycle: 构建的核心部分,编译,测试,打包,部署等。
l Site Lifecycle: 生成项目报告和站点,发布站点。
Maven的最重要的生命周期就是default生命周期,绝大部分工作都发生在这个生命周期中
Maven目录结构
Maven默认约定了一套目录结构,一个典型的Maven项目的目录结构如下: