当前位置: 首页 > 知识库问答 >
问题:

没有插件目标绑定到maven阶段

籍靖
2023-03-14

在maven很新。通过阅读maven在官网上的文档,我知道默认生命周期有21个阶段,包括验证初始化生成源过程源生成资源过程资源编译过程类生成测试源过程测试源生成测试资源过程测试资源测试编译测试准备包集成前测试集成测试集成后测试验证安装部署

但是当我看到内置的生命周期绑定时,我发现没有插件目标绑定到诸如验证、初始化、验证等阶段。
或者这些阶段的插件目标是固定的,我们无法控制它们,所以没有必要将它们写在文档中。每次这些阶段,如验证初始化验证等,都会自动执行。

共有1个答案

吕高昂
2023-03-14

首先是的,默认情况下,validateinitializeverify阶段(以及其他一些阶段)没有绑定插件。

如果你运行mvn包,所有阶段都将被执行,但是如果没有绑定到阶段的插件,你就看不到它。如果你运行阶段,所有阶段,包括阶段本身,将从开始执行验证初始化生成源等等...

有时将插件绑定到像初始化这样的阶段是很有用的。

验证之前的阶段,如集成前测试、集成后测试和集成后测试,对于运行集成测试很有用,这些集成测试可以由maven-故障安全插件处理。单元测试由maven-surefire插件处理。

生成源代码这样的阶段经常被源代码生成插件使用,比如jaxb2-maven-plugin或者其他像注释处理器生成插件...

 类似资料:
  • 和子级POM: 在子pom上运行'mvn clean install'将运行编译器插件的两个执行,并且只运行antrun插件的第一个执行,尽管每个插件的第一个执行都绑定到一个阶段。 现在将pluginManagement移动到子POM:

  • 我使用maven远程资源插件从工件中获取一些资源,还需要捆绑一些资源以用于另一个项目。 我在默认部分(不在配置文件中)将maven-Remote te-resources-plugin绑定到捆绑目标。我将maven-Remote te-resources-plugin绑定到配置文件中的流程目标。 我的问题是,在使用概要文件时,我没有获得共享资源(我没有获得target\maven shared a

  • 我正在尝试运行一些Selenium测试,但将jetty的启动附加到maven的预集成测试阶段是行不通的。因此,我试图调查这个问题,似乎总体而言,Maven没有在我指定的阶段执行我的目标。 我找到了这个例子并复制了它。我创建了一个插件,当我显式调用它时,它运行良好。但是当我尝试将其附加到验证阶段并运行mvn验证时,我没有看到“你好!!!”输出它只是向我展示了构建成功,而没有调用howdy world

  • 我试图理解maven目标执行顺序。 所以我有一个pom附加目标到阶段的maven生命周期构建。 当运行我得到的输出如输出部分所示: 现在我的问题是: 1为什么执行的目标,因为我已经附加了哪个目标运行那么我的目标是否被添加到maven的默认目标列表中,或者它可以被覆盖?maven如何决定执行哪个目标? 2在插件部分,我只有和,但没有。那么maven是如何找到正确的插件的呢。。groupId不是必需的

  • 我试图用生成一个由多个子模块组成的项目的Java-API文档,但它不起作用,而起作用,它解决了所有依赖项,并成功编译<代码>mvn站点既不解析父pom文件(包括easymock)中所有子模块继承的依赖项,也不解析特定于某些子模块(包括SWT)的依赖项。 我获得以下错误消息:[ERROR]未能执行目标org.apache.maven.plugins:maven-site-plugin:3.7.1:站

  • 有什么建议吗? DS 代码为: 在其上运行命令的: 项目中的位置: