什么是生命周期
Maven对项目开发各阶段工作:项目清理,初始化,编译,测试,打包,集成测试,验证,部署,站点生成称为构建活动。对这一系列活动的抽象,则称之为生命周期。Maven有三个生命周期:clean , default ,site ,每个周期下都有若干个构建任务,任务需要相应的插件实现。
Clean生命周期
clean 生命周期目的是清理项目,包括三个阶段
1. pre-clean #执行一些清理项目前的工作
2. clean #清理上一次构建生成的文件
3. post-clean #执行一些清理项目后的工作
Default生命周期
default 生命周期定义了项目构建核心步骤,包括
1. validate
2. initialize
3. generate-sources
4. process-sources #处理主资源文件 src.main.resources
5. generate-resources
6. process-resources
7. compile #编译主代码 src.main.java
8. process-classes
9. generate-test-sources
10. process-test-sources #处理测试资源文件 src.test.resources
11. generate-test-resources
12. process-test-resources
13. test-compile #编译测试代码 src.test.java
14. process-test-classes
15. test #运行测试
16. prepare-package
17. package #打包项目
18. pre-integration-test
19. integration-test
20. post-integration-test
21. verify
22. install #将包安装到本地仓库中
23. deploy #将包安装到远程仓库中
Site生命周期
1. pre-site
2. site #生成项目站点文档
3. post-site
4. site-deploy #将生成的项目站点发布到服务器上
好的,下面我们就可以通过命令行与上面的生命活动交互了!
命令行与生命周期
mvn clean #调用clean生命周期的clean阶段(包括pre-clean,clean)
mvn test #调用default生命周期的test阶段(包括validate -> test的所有阶段)
mvn clean install #跨越clean和default两个生命周期的多个阶段(pre-clean->clean, validate->install)
mvn clean deploy site-deploy #跨越三个生命周期
插件目标
大家会发现Maven的安装包很小,只有在使用的时候,才会下载相关插件完成构建活动。每个插件都有特定的目标(Plugin Goal),比如 maven-dependency-plugin 有十多个目标,每个目标对应特定功能。如前面章节介绍的:mvn dependency : list | tree | analyze 。
插件与生命周期绑定
Maven的生命周期与插件绑定,用以完成实际的构建任务。比如编译任务,对应default生命周期的compile阶段,通过插件 maven-compiler-plugin 的 compile 目标,就能完成这一构建任务。
Maven为了实现零配置就可以完成构建任务,提供了内置插件绑定,如下图:
参考
Maven实战 - 许晓斌
相关推荐
此外,Maven还提供了生命周期(Lifecycle),如`clean`、`compile`、`test`、`package`、`install`和`deploy`等,这些生命周期阶段包含了多个预定义的目标(Goals),如`mvn clean`用于清理项目,`mvn compile`用于...
此外,Maven还有一系列内置的生命周期阶段(如clean、compile、test、package、install、deploy)和目标(goals),这些预定义的构建步骤使得构建流程标准化。 Maven的插件系统允许扩展其功能,比如编译源代码、...
Maven 的核心理念是通过一个标准化的构建生命周期来简化软件开发流程,它通过读取项目配置文件(pom.xml)来管理项目的构建、报告和文档生成。 ** Maven 插件** Maven 的强大之处在于它的插件系统。Maven 插件是一...
11. **maven-core** 和 **maven-model**:Maven的核心组件,负责解析POM,执行生命周期和阶段,以及处理模型数据。 12. **maven-compat**:提供对早期Maven版本的兼容性支持。 13. **maven-embedder**:允许将...
Apache Maven 是一个强大的Java项目管理和综合工具,它简化了构建过程,通过标准化构建生命周期和依赖管理,使得开发者能够更高效地构建、测试和部署Java应用程序。Maven 3.3.9是Maven的一个稳定版本,它包含了多个...
Maven通过一组预定义的生命周期阶段(如clean、compile、test、package、install和deploy)来管理项目的构建。maven-eclipse-plugin插件则是在这个生命周期中的特定阶段执行,例如`eclipse:eclipse`目标用于生成...
Maven的生命周期是另一个关键概念,它定义了一系列构建阶段,如编译(compile)、测试(test)、打包(package)、验证(verify)、安装(install)和部署(deploy)。每个阶段都有一系列默认的目标或任务,这些任务...
1. Maven简介:Maven的核心理念是“约定优于配置”,它通过默认的构建生命周期和插件,使得构建过程标准化。Maven使用项目对象模型(Project Object Model,POM)来描述项目,并自动管理项目的构建、报告和文档生成...
- **构建生命周期**: Maven有三个主要的构建生命周期阶段:`clean`(清理)、`default`(编译、测试、打包、部署)和`site`(生成项目站点)。每个阶段包含一系列的执行目标(goals)。 - **依赖管理**: 在POM.xml...
在Java开发中,Maven扮演着核心角色,它通过读取项目配置文件pom.xml来管理项目的构建过程,包括编译、测试、打包、部署等生命周期阶段。pom.xml文件包含了项目的详细信息,如项目名称、描述、版本、开发者信息以及...
使用Maven时,主要依赖于它的生命周期和插件。生命周期包括清理(clean)、编译(compile)、测试(test)、打包(package)、验证(verify)、集成测试(integration-test)、部署(deploy)等阶段。每个阶段都有...
Maven 使用一种标准化的项目对象模型(Project Object Model,POM),通过POM来管理项目的构建、报告和文档等生命周期。Apache Maven 3.3.9是Maven的一个稳定版本,提供了许多改进和修复,以提高开发效率和构建质量...
Maven 的目标是简化项目构建过程,通过标准化构建生命周期和插件机制,使得开发者可以更专注于编写代码,而不是配置构建脚本。 在“apache-maven-3.3.9版本.zip”这个压缩包中,我们可以找到Apache Maven的3.3.9...
Maven的构建生命周期包括清理、默认和站点三个阶段,每个阶段又包含多个目标。例如,`clean`阶段用于清除项目构建产出物,`install`目标将项目打包并安装到本地仓库,方便其他项目引用,`deploy`则会将项目部署到...
Maven是Java开发中的一款强大的构建工具,它简化了项目的构建、依赖管理和生命周期过程。`maven-archetype-quickstart-1.1.jar` 是一个Maven的快速启动 archetype 包,专门用于帮助开发者快速创建一个新的Maven项目...
在Java开发领域,Maven已经成为事实上的标准,因为它极大地简化了构建过程,并通过依赖管理和项目信息管理提供了标准化的构建生命周期。在这个"apache-maven-3.5.4-bin"压缩包中,包含了Maven 3.5.4版本的所有组件和...
Maven的生命周期和插件系统是其强大之处。生命周期包括多个阶段,如compile、test、install和deploy,用户可以根据需要在特定阶段插入插件执行任务。Maven仓库包含了大量的插件,覆盖了从源代码格式化到单元测试、...
Maven有三个主要的构建生命周期:clean、default和site。clean用于清理项目,default负责编译、测试、打包和部署,site则用来生成项目文档。 **4. 插件系统** Maven的插件机制允许扩展其功能。例如,maven-compiler...
此外,Maven有一套预定义的生命周期(如clean, compile, test, package, install, deploy)和构建阶段,开发者可以方便地调用这些阶段进行构建操作。 Maven的插件系统使得扩展功能变得简单,例如,可以通过maven-...
#### Maven生命周期概述 Maven是一个项目管理和综合工具,它通过一系列预定义的任务和明确的构建生命周期来管理项目的构建、报告和文档。Maven的核心特性之一是其生命周期(Lifecycle),它定义了一系列必须按顺序...