1.默认构建生命周期(即default生命周期)

2.clean生命周期

3.site生命周期

概括总结:
- 验证(validate)到打包(package)阶段:主要关注项目的编译和打包,确保所有依赖关系和配置文件正确无误。
- 测试(test)和验证(verify)阶段:重视代码的稳定性和可靠性,通过不同层次的测试确保代码质量。
- 安装(install)和部署(deploy)阶段:确保本地及远程仓库的正确配置,使构建产物能够被其他项目依赖。
- 清理(clean)阶段:清理构建环境维持代码整洁,但要小心避免删除有用文件。
- 站点生成(site)和部署(site-deploy)阶段:生成和发布项目文档,确保项目文档化和可追溯性。
这些阶段由 Maven 的生命周期自动管理,开发者需要确保各个插件和配置项的正确性,以保证构建过程顺利进行。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
附加备注:
一、generate-sources 到底在是做什么的?
主要是生成项目的源代码。这通常包括:
-
代码生成:一些项目可能会使用工具自动生成部分代码,例如根据数据库架构生成数据访问层代码,或者根据接口定义生成客户端代码。
-
预处理:对源代码进行一些预处理操作,例如将特定的标记替换为实际的版本号或构建时间等。
-
文件转换:将其他格式的文件转换成 Java 源文件,这在那些需要从特定格式的文件中生成 Java 代码的项目中比较常见。
这一阶段通常是由插件来执行的,这些插件会在generate-sources阶段绑定具体的任务。其结果是,将生成的源代码放置在一个特定的目录中,使得这些代码能够在随后的编译阶段中被编译。
当然,这里有一个关于generate-sources阶段的具体例子:
假设你有一个使用 JAXB(Java Architecture for XML Binding)的 Maven 项目。你希望根据 XSD(XML Schema Definition)文件自动生成对应的 Java 类。
配置示例:
在你的 Maven 项目的pom.xml文件中,你可以这样配置 JAXB 插件来在generate-sources阶段生成代码:
<build><plugins><plugin><groupId>org.codehaus.mojo</groupId><artifactId>jaxb2-maven-plugin</artifactId><version>2.5.0</version><executions><execution><goals><goal>xjc</goal></goals></execution></executions><configuration><schemaDirectory>${basedir}/src/main/resources</schemaDirectory><outputDirectory>${basedir}/target/generated-sources/jaxb</outputDirectory><clearOutputDir>false</clearOutputDir></configuration></plugin></plugins></build>
解释:
- Schema Directory:定义存放 XSD 文件的目录。这里假设 XSD 文件位于
src/main/resources目录中。 - Output Directory:指定生成的 Java 类的输出目录。这里设置为
target/generated-sources/jaxb。 - Execution Goals:插件将在
generate-sources阶段执行xjc目标命令。
执行过程:
- 读取 XSD 文件:JAXB 插件会读取定义的 XSD 文件。
- 生成 Java 类:基于这些 XSD 文件,JAXB 会自动生成对应的 Java 类。
- 源代码输出:生成的 Java 类文件将被输出到指定的输出目录中。
- 后续编译:这些生成的 Java 类将在随后的
compile阶段被自动编译成字节码。
这个例子说明了如何在generate-sources阶段利用 Maven 插件从外部资源生成 Java 源代码,并使这些源代码成为构建过程的一部分。
浙公网安备 33010602011771号