"Maven Install" 和 "Maven Build" 与 M2Eclipse 有什么区别?

What is the difference between "Maven Install" and "Maven Build" with M2Eclipse?

我试图在eclipse m2e插件中搜索maven install和maven build之间的区别(如果你右键单击项目并单击"run as",你会看到它们),我仍然找不到对它们的很好解释(我也查看了 official document)。任何人都可以帮忙吗?据我目前了解:

此外,当您在线签出存储库时,您通常会执行 maven install(安装所有内容,包括依赖项)以便 运行 代码吗?

首先,build 在标准 Maven 生命周期中是 not a phase,而 install 是一个。 mvn install 将调用直到 install 阶段的所有阶段,该阶段通常包括编译源代码、打包项目并将其安装到本地存储库中。

明确地说,我们谈论的是 M2Eclipse 在 "Run As" selection 中显示的内容。

所有这些选项是什么?首先,您需要知道您可以:

在 Eclipse 中配置自定义 "Run Configuration"s

前往:

这将打开一个对话框,您可以在其中配置这些自定义配置。

您可以创建一个新的 "Maven Build" 运行 配置,方法是:

  • 名称:这将是配置的唯一名称。你可以随意命名。在上面,它以它将调用的目标命名。
  • 基本目录:这将是调用 Maven 的文件夹。在上面的屏幕截图中,我使用了 Eclipse 变量 ${project_loc},它会自动替换为当前 selected 项目在 "Project Explorer" 时 运行。 (这允许多个项目有一个 运行 配置)。
  • 目标、潜在配置文件和几个选项:所有这些选项将弥补将要启动的确切命令。添加配置文件将启动带有 -P... 属性的 Maven;检查 "Update Snapshots" 将使用 -U 标志启动 Maven,等等

那么这些 "Run As" 选项是什么?

Maven 安装

这很简单:"Maven install" 将在 Eclipse 中启动已配置的 Maven 安装,目标是 install。它与 运行 在命令行上使用外部 Maven 安装命令 mvn install 具有相同的效果。

"Maven generate-sources"、"Maven test" 或 "Maven clean" 选项实际上遵循相同的想法:所有这些选项都将直接调用带有 generate-sources 阶段的 Maven, test 阶段或 clean 阶段。

Maven 构建...

这实际上会启动我们创建新 运行 配置的上一个对话框。发生的是 M2Eclipse 将创建一个新的,您可以完全按照上面的方式填写。您可以将其视为创建自定义 "Maven Build" 运行 配置的捷径。

Maven 构建

这将尝试启动已配置的自定义 运行 配置。

  • 如果您只有一个自定义 "Maven Build" 运行 配置,它将启动那个。
  • 如果你有多个,它会要求你把那个给运行:

    在上面的屏幕截图中,您可以看到有 2 个自定义 "Maven Build" 运行 配置,分别命名为 cleanclean install。因此,此弹出窗口要求用户 select 一个。

选择自定义 "Maven Build" 配置后,它将使用此 运行 配置中的选项调用 Maven。

在开发环境中,使用以下调用构建工件并将其安装到本地存储库中。

mvn 安装

此命令按顺序执行每个默认生命周期阶段 (验证、编译、打包),然后执行安装。