📜  Maven 生命周期和基本 Maven 命令

📅  最后修改于: 2022-05-13 01:55:49.932000             🧑  作者: Mango

Maven 生命周期和基本 Maven 命令

Maven 是一个强大的项目管理工具,基于 POM(项目对象模型),用于项目的构建、依赖和文档。它是一种可用于构建和管理任何基于 Java 的项目的工具。 Maven 使Java开发人员的日常工作更轻松,并有助于构建和运行任何基于 Java 的项目。

有关 Maven 的工作原理、如何安装 Maven 及其应用程序的更多详细信息,请访问:Apache Maven 简介

Maven 生命周期:下面是默认 Maven 生命周期及其 8 个步骤的表示:验证、编译、测试、打包、集成测试、验证、安装和部署。

默认 Maven 生命周期的 8 个阶段

默认的 Maven 生命周期由 8 个主要步骤或阶段组成,用于编译、测试、构建和安装给定的Java项目,如下所示:

  1. 验证:此步骤验证项目结构是否正确。例如 - 它检查所有依赖项是否已下载并在本地存储库中可用。
  2. 编译:它编译源代码,将 . Java文件转换为 .class 并将类存储在 target/classes 文件夹中。
  3. 测试:它为项目运行单元测试。
  4. 打包:这一步将编译后的代码打包成可分发的格式,如 JAR 或 WAR。
  5. 集成测试:它运行项目的集成测试。
  6. 验证:此步骤运行检查以验证项目是否有效并符合质量标准。
  7. 安装:此步骤将打包好的代码安装到本地Maven仓库中。
  8. 部署:将打包好的代码复制到远程仓库,与其他开发者共享。

Maven 按照顺序执行命令,如果您运行 step n ,那么它之前的所有步骤(Step 1 到n-1 )也会被执行。例如,如果我们运行安装步骤(步骤 7),它将在将构建的包安装到本地存储库之前,验证、编译、打包和验证项目以及运行单元和集成测试(步骤 1 到 6)。

Maven 命令:

  • mvn clean:清理项目并删除之前构建生成的所有文件。
  • mvn compile:编译项目的源代码。
  • mvn test-compile:编译测试源代码。
  • mvn test:为项目运行测试。
  • mvn 包:为项目创建 JAR 或 WAR 文件以将其转换为可分发格式。
  • mvn install:将打包的 JAR/WAR 文件部署到本地存储库。
  • mvn deploy:在编译、运行测试和构建项目后,将打包的 JAR/WAR 文件复制到远程存储库。

通常,当我们运行上述任何命令时,我们都会添加mvn clean步骤,以便在运行较新的构建之前删除从先前构建生成的目标文件夹。这是命令将清洁步骤与安装阶段集成的方式: mvn clean install

同样,如果我们想在调试模式下运行该步骤以获取更详细的构建信息和日志,我们将在实际命令中添加-X 。因此,启用调试模式的安装步骤将包含以下命令: mvn -X install

考虑一个场景,我们不想在打包或安装Java项目时运行测试。在这种情况下,我们将-DskipTests与实际命令一起使用。如果我们需要跳过与项目相关的测试来运行安装步骤,命令将是: mvn install -DskipTests