maven之学习之路(二)

xiaoxiao2021-02-28  119

构建生命周期

阶段 处理 描述 prepare-resources 资源拷贝 本阶段可以自定义需要拷贝的资源 compile 编译 本阶段完成源代码编译 package 打包 本阶段根据 pom.xml 中描述的打包配置创建 JAR / WAR 包 install 安装 本阶段在本地 / 远程仓库中安装工程包 mvn clean dependency:copy-dependencies package 目标表示一个特定的、对构建和管理工程有帮助的任务。它可能绑定了 0 个或多个构建阶段。没有绑定任何构建阶段的目标可以在构建生命周期之外被直接调用执行。

Clean 生命周期

当我们执行 mvn post-clean 命令时,Maven 调用 clean 生命周期,它包含以下阶段。 pre-clean clean post-clean

mvn build生命周期

生命周期阶段 描述 validate 检查工程配置是否正确,完成构建过程的所有必要信息是否能够获取到。 initialize 初始化构建状态,例如设置属性。 generate-sources 生成编译阶段需要包含的任何源码文件。 process-sources 处理源代码,例如,过滤任何值(filter any value)。 generate-resources 生成工程包中需要包含的资源文件。 process-resources 拷贝和处理资源文件到目的目录中,为打包阶段做准备。 compile 编译工程源码。 process-classes 处理编译生成的文件,例如 Java Class 字节码的加强和优化。 generate-test-sources 生成编译阶段需要包含的任何测试源代码。 process-test-sources 处理测试源代码,例如,过滤任何值(filter any values)。 test-compile 编译测试源代码到测试目的目录。 process-test-classes 处理测试代码文件编译后生成的文件。 test 使用适当的单元测试框架(例如JUnit)运行测试。 prepare-package 在真正打包之前,为准备打包执行任何必要的操作。 package 获取编译后的代码,并按照可发布的格式进行打包,例如 JAR、WAR 或者 EAR 文件。 pre-integration-test 在集成测试执行之前,执行所需的操作。例如,设置所需的环境变量。 integration-test 处理和部署必须的工程包到集成测试能够运行的环境中。 post-integration-test 在集成测试被执行后执行必要的操作。例如,清理环境。 verify 运行检查操作来验证工程包是有效的,并满足质量要求。 install 安装工程包到本地仓库中,该仓库可以作为本地其他工程的依赖。 deploy 拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程。

Site 生命周期 请参考 https://www.w3cschool.cn/maven/tkhr1ht6.html


构建配置文件

构建配置文件是一组配置的集合,用来设置或者覆盖 Maven 构建的默认配置。使用构建配置文件,可以为不同的环境定制构建过程,例如 Producation 和 Development 环境。 Profile 在 pom.xml 中使用 activeProfiles / profiles 元素指定,并且可以用很多方式触发。Profile 在构建时修改 POM,并且为变量设置不同的目标环境(例如,在开发、测试和产品环境中的数据库服务器路径)。

Profile 类型 Profile 主要有三种类型。 类型 在哪里定义 Per Project 定义在工程 POM 文件 pom.xml 中 Per User 定义在 Maven 设置 xml 文件中 (%USER_HOME%/.m2/settings.xml) Global 定义在 Maven 全局配置 xml 文件中 (%M2_HOME%/conf/settings.xml) Profile 激活 MavenProfile 能够通过几种不同的方式激活。 显式使用命令控制台输入 通过 maven 设置 基于环境变量(用户 / 系统变量) 操作系统配置(例如,Windows family) 现存 / 缺失 文件

显式 Profile 激活

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.companyname.projectgroup</groupId> <artifactId>project</artifactId> <version>1.0</version> <profiles> <profile> <id>test</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.1</version> <executions> <execution> <phase>test</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <echo>Using env.test.properties</echo> <copy file="src/main/resources/env.test.propertiestofile ="${project.build.outputDirectory}/env.properties"/> </tasks> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project> 现在打开命令控制台,跳转到 pom.xml 所在目录,并执行以下 mvn 命令。使用 -P 选项指定 Profile 的名称 mvn test -Ptest
转载请注明原文地址: https://www.6miu.com/read-47849.html

最新回复(0)