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

Roc*_*tar 23 m2eclipse maven-3 maven

我试图在eclipse m2e插件中搜索maven install和maven build之间的差异(如果你右击项目然后点击"run as",你会看到它们),我仍然找不到它们的好解释(我看了一下官方文件).有人可以帮忙吗?从我目前的理解:

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

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

Tun*_*aki 28

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

为了清楚起见,我们正在讨论M2Eclipse在"运行方式"选项中显示的内容.

在此输入图像描述

那些选择是什么?首先,你需要知道你可以:

在Eclipse中配置自定义"运行配置"

通过:

在此输入图像描述

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

在此输入图像描述

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

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

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

Maven安装

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

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

Maven构建......

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

Maven构建

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

  • 如果您只有一个自定义"Maven Build"运行配置,它将启动该配置.
  • 如果您有多个,它将​​要求您运行:

    在此输入图像描述

    在上面的截图,你可以看到,有2定制的"Maven构建"运行配置,分别命名cleanclean install.因此,该弹出窗口要求用户选择一个.

一旦选择了自定义"Maven Build"配置,它将使用此运行配置中的选项调用Maven.