在maven很新。通过阅读maven在官网上的文档,我知道默认生命周期有21个阶段,包括验证
,初始化
,生成源
,过程源
,生成资源
,过程资源
,编译
,过程类
,生成测试源
,过程测试源
,生成测试资源
,过程测试资源
,测试编译
,测试
,准备包
,集成前测试
,集成测试
,集成后测试
,验证
,安装
和部署
。
但是当我看到内置的生命周期绑定时,我发现没有插件目标绑定到诸如验证、初始化、验证等阶段。
或者这些阶段的插件目标是固定的,我们无法控制它们,所以没有必要将它们写在文档中。每次这些阶段,如验证
,初始化
,验证
等,都会自动执行。
首先是的,默认情况下,validate
、initialize
和verify
阶段(以及其他一些阶段)没有绑定插件。
如果你运行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 代码为: 在其上运行命令的: 项目中的位置: