Maven:安装和安装:安装有什么区别?

Ter*_*rry 4 lifecycle maven

我是 Maven 的新手,正在尝试了解它是如何工作的。

我知道有一个由阶段组成的生命周期。阶段称其为魔力。如果调用了一个阶段,则前面的所有阶段也都会执行。mvn install例如,当我打电话时会发生这种情况,对吗?执行包括安装在内的所有阶段。

但是,有什么作用mvn install:install呢?这个带冒号的语法是什么?

Joh*_*fer 5

install是一个Maven阶段。它首先调用生命周期中它之前的所有阶段(例如,编译、测试和打包等等),然后调用任何附加到它的 mojo“目标”。

install::install 是一个 mojo “目标”,它执行特定任务(将当前项目中的目标工件复制到本地存储库中)。

实际上,mvn install在空项目中执行将编译项目及其测试,执行所有测试,将项目打包成适当的工件(即 jar、war、zip 等)并将该工件复制到您的本地存储库中,以便它可用于其他 Maven 项目。

在大多数典型情况下,您需要执行 maven 阶段以获得完整的构建。单个目标有时对于从非标准插件执行任务很有用。例如,在一个war项目中jetty:run用于获取指向您当前目录的应用服务器。

您还可以将目标绑定到项目 pom.xml 文件中的生命周期阶段以自定义构建。