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

 

 2.clean生命周期

 

3.site生命周期

概括总结:

  • 验证(validate)到打包(package)阶段:主要关注项目的编译和打包,确保所有依赖关系和配置文件正确无误。
  • 测试(test)和验证(verify)阶段:重视代码的稳定性和可靠性,通过不同层次的测试确保代码质量。
  • 安装(install)和部署(deploy)阶段:确保本地及远程仓库的正确配置,使构建产物能够被其他项目依赖。
  • 清理(clean)阶段:清理构建环境维持代码整洁,但要小心避免删除有用文件。
  • 站点生成(site)和部署(site-deploy)阶段:生成和发布项目文档,确保项目文档化和可追溯性。

这些阶段由 Maven 的生命周期自动管理,开发者需要确保各个插件和配置项的正确性,以保证构建过程顺利进行。

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

附加备注:

一、generate-sources 到底在是做什么的?

主要是生成项目的源代码。这通常包括:

  1. 代码生成:一些项目可能会使用工具自动生成部分代码,例如根据数据库架构生成数据访问层代码,或者根据接口定义生成客户端代码。

  2. 预处理:对源代码进行一些预处理操作,例如将特定的标记替换为实际的版本号或构建时间等。

  3. 文件转换:将其他格式的文件转换成 Java 源文件,这在那些需要从特定格式的文件中生成 Java 代码的项目中比较常见。

这一阶段通常是由插件来执行的,这些插件会在generate-sources阶段绑定具体的任务。其结果是,将生成的源代码放置在一个特定的目录中,使得这些代码能够在随后的编译阶段中被编译。

当然,这里有一个关于generate-sources阶段的具体例子:

假设你有一个使用 JAXB(Java Architecture for XML Binding)的 Maven 项目。你希望根据 XSD(XML Schema Definition)文件自动生成对应的 Java 类。

配置示例:

在你的 Maven 项目的pom.xml文件中,你可以这样配置 JAXB 插件来在generate-sources阶段生成代码:

xml
复制
<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目标命令。

执行过程:

  1. 读取 XSD 文件:JAXB 插件会读取定义的 XSD 文件。
  2. 生成 Java 类:基于这些 XSD 文件,JAXB 会自动生成对应的 Java 类。
  3. 源代码输出:生成的 Java 类文件将被输出到指定的输出目录中。
  4. 后续编译:这些生成的 Java 类将在随后的compile阶段被自动编译成字节码。

这个例子说明了如何在generate-sources阶段利用 Maven 插件从外部资源生成 Java 源代码,并使这些源代码成为构建过程的一部分。

-----------------------------------------------------------------------
posted on 2024-11-19 14:32  卡米i  阅读(91)  评论(0)    收藏  举报