Maven构建生命周期阶段包括validate、compile、test、package、integration-test、verify、install和deploy八个阶段。
validate:在这个阶段,Maven会检查项目的正确性,确保所有必要的信息都被正确地填写。如果发现任何问题,Maven将会立即终止执行,并显示出相应的错误信息。
compile:在这个阶段,Maven会将代码文件编译成class文件。如果发生了任何错误,Maven也会立即中止执行并显示出相应的错误信息。
test:在这个阶段,Maven会使用JUnit或TestNG来运行测试用例。如果测试失败了,Maven也会立即中止执行并显示出相应的失败信息。
package:在这个阶段,Maven会通过使用maven-jar-plugin或maven-war-plugin来将代码文件打包成jar或war文件。
integration-test: 在这个阶段, Maven 会通过使用 maven-failsafe-plugin 来对 jar 或 war 文件进行集成测试, 如果集成测试失败, Maven 也会立即中止执行并显示出相应的失败信息.
verify: 在这个阶段, Maven 会通过使用 maven-surefire-report-plugin 来生成测试覆盖率和代码风格分析的 HTML 报告.
install: 在这个阶段, Maven 会通过使用 maven-install-plugin 来将 jar 或 war 文件安装到本地 Maven 仓库.
deploy: 在这个阶段, Maven 会通过使用 mavem deploy plugin 来将 jar 或 war 文件部署到服务器上.
构建生命周期是我们用来构建软件的一系列任务。 对于例如,编译,测试,测试更多,包和发布或部署都是我们需要做的任务来构建一个软件。
Maven构建生命周期是我们需要经历的一系列阶段完成构建软件。
下表列出了一些构建生命周期。
生命周期 | 描述 |
---|---|
validate | 验证项目是否正确,并提供所有必要的信息 |
compile | 编译源代码 |
test | 使用单元测试来测试编译的源代码 |
package | 采取编译代码并将其以可分发格式(例如JAR)打包 |
integration-test | 将包部署到可以运行集成测试的环境中 |
verify | 验证包是否有效并符合质量标准 |
install | 请将软件包安装到本地存储库中 |
deploy | 发布到集成或发布环境 |
Maven有以下三个标准生命周期:
这些构建阶段按顺序执行以完成缺省生命周期。
给定上面的构建阶段,当使用默认生命周期时,Maven会
为了做所有这些,你只需要调用要执行的最后一个构建阶段,在这种情况下是deploy:
mvn deploy
调用构建阶段不仅将执行构建阶段,还将在调用构建阶段之前的每个构建阶段执行。
因此,做
mvn integration-test
将在执行每个构建阶段(验证,编译,打包等)之前执行集成测试。
在具有一个或多个子项目的多模块中可以使用相同的命令。 例如:
mvn clean install
此命令将遍历所有子项目并运行clean,然后安装包括所有前面的步骤。
pre-clean | 在实际项目清洁之前执行所需的过程 |
clean | 删除由上一个生成生成的所有文件 |
post-clean | 执行完成项目清洁所需的过程 |
validate | 验证项目并确保提供所有必要的信息。 |
initialize | 初始化构建状态,设置属性或创建目录。 |
generate-sources | 生成任何源代码。 |
process-sources | 处理源代码。 |
generate-resources | 生成资源。 |
process-resources | 生成资源。... |
compile | 编译源代码。 |
process-classes | 后处理生成的文件从编译。 |
generate-test-sources | 生成任何测试源代码。 |
process-test-sources | 处理测试源代码。 |
generate-test-resources | 创建测试资源。 |
process-test-resources | 将资源复制并处理到测试目标目录中。 |
test-compile | 编译测试源代码 |
process-test-classes | 后处理从测试编译生成的文件。 |
test | 使用单元测试框架运行测试。 |
prepare-package | 执行在包装之前准备包装所需的任何操作。 |
package | 将编译的代码封装为其可分发格式,例如JAR。 |
pre-integration-test | 执行集成测试之前执行所需的操作。 |
integration-test | 执行集成测试之前执行所需的操作。... |
post-integration-test | 执行集成测试后执行所需的操作。 |
verify | 执行集成测试后执行所需的操作。... |
install | 请将软件包安装到本地存储库中。 |
deploy | 发布项目。 |
pre-site | 在项目现场生成之前执行过程 |
site | 生成项目的站点文档 |
post-site | 执行过程以完成站点生成 |
site-deploy | 执行过程以完成站点生成... |
Maven - NetBeansNetBeans 6.7 版本或者更新的版本针对 Maven 支持内部构建功能。 针对之前的版本,可以在插件管理器中找到 Mave...
什么是构建生命周期构建生命周期是一组阶段的序列(sequence of phases),每个阶段定义了目标被执行的顺序。这里的阶段是生命周...
这一章着眼于一些编写构建脚本的详细信息。Gradle 构建语言Gradle 提供一种领域特定语言或者说是 DSL,来描述构建。这种构建语言...
Gradle 在它的核心中有意地提供了一些小但有用的功能,用于在真实世界中的自动化。所有有用的功能,例如以能够编译 Java 代码为...
Redis Getbit 命令Redis 字符串(string) Redis Getbit 命令用于对 key 所储存的字符串值,获取指定偏移量上的位(bit)。语法 redi...