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

时间:2016-06-23 18:44:11

标签: maven maven-3 m2eclipse

我试图在eclipse m2e插件中搜索maven install和maven build之间的差异(如果你右击项目然后点击“run as”,你会看到它们),我仍然找不到一个很好的解释他们(我也查看了official document)。有人可以帮忙吗?从我目前的理解:

  • maven install:构建并将工件安装到本地存储库
  • maven build:只构建但不安装?什么安装意味着呢?

此外,当您在线结帐时,您是否经常进行maven安装(安装所有内容,包括依赖项)以运行代码?

2 个答案:

答案 0 :(得分:26)

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

要清楚,我们正在讨论M2Eclipse在“运行方式”选项中显示的内容。

enter image description here

这些选项有哪些?首先,你需要知道你可以:

在Eclipse中配置自定义“运行配置”

转到:

enter image description here

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

enter image description here

您可以通过提供以下内容来创建新的“Maven Build”运行配置:

  • 名称:这将是配置的唯一名称。你可以随意命名。在上面,它以它将调用的目标命名。
  • 基目录:这将是调用Maven的文件夹。在上面的屏幕截图中,我使用了Eclipse变量${project_loc},它由当前所选项目的基目录自动替换。运行时“Project Explorer”。 (这允许为多个项目提供单个运行配置。)
  • 目标,潜在配置文件和几个选项:所有这些选项将弥补将要启动的确切命令。添加配置文件将启动具有-P...属性的Maven;检查“更新快照”将启动带有-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 build ...

这将实际启动我们创建新运行配置的上一个对话框。会发生什么是M2Eclipse会创建一个新的,你可以完全像上面那样填充。您可以将其视为创建自定义“Maven Build”运行配置的捷径。

Maven build

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

  • 如果您只有一个自定义“Maven Build”运行配置,它将启动该配置。
  • 如果您有多个,它会要求您运行:

    enter image description here

    在上面的屏幕截图中,您可以看到有2个自定义“Maven Build”运行配置,其名称为cleanclean install。因此,此弹出窗口要求用户选择一个。

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

答案 1 :(得分:0)

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

mvn install

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