您的位置:首页 > 新闻 > 热点要闻 > qq是腾讯旗下的吗_cms网站怎么建_网址如何下载视频_公司企业网站建设

qq是腾讯旗下的吗_cms网站怎么建_网址如何下载视频_公司企业网站建设

2025/2/25 7:52:52 来源:https://blog.csdn.net/liwenxiang629/article/details/143740635  浏览:    关键词:qq是腾讯旗下的吗_cms网站怎么建_网址如何下载视频_公司企业网站建设
qq是腾讯旗下的吗_cms网站怎么建_网址如何下载视频_公司企业网站建设

插件(plugin)

Maven的核心是一个插件执行框架;所有的工作都是由插件完成的。

Maven中Plugin分为两种类型:

  • build类型Plugin只能在build阶段执行,在POM中需要在 <build/> 标签下进行配置。

  • reporting类型:在site generation阶段被执行。在POM中需要在<reporting/>标签下配置。

核心plugin如下图所示:

我们通常在pom.xml中配置plugin,如下图所示:

我们可以通过下面的命令来查看failsafe插件的使用方法

mvn failsafe:help

我们可以通过下面的命令来运行failsafe插件

mvn <PLUGIN>:<GOAL>

想要了解更多的plugin信息可以参考文章:

Maven – Available Plugins

在使用插件的过程中,我们还必须指定要作为运行构建的一部分——目标(goal)。

目标(goal)

插件(plugin)可以具有一个或多个目标(goal),其中每个目标表示该插件的能力。goal 是存在于 maven plugin 中,因此,大多数的 maven 功能实际上是存在于插件中,一个 maven 插件提供了一组可以被运行的 goal。大家可可以理解为goal就是插件的参数,同一个插件通过不同的参数输入来实现不同功能的输出。例如:Compiler插件(其完整的插件名字为org.apache.maven.plugins:maven-compiler-plugin)有两个目标:compile和testCompile。前者编译主代码的源代码,而后者编译测试代码的源代码。

mvn可以执行一个目标或一个阶段(甚至多个目标或多个阶段),如下所示:

mvn clean install plugin:goal

某些阶段(phase)默认具有与之绑定的目标(goal),例如clean和 site。对于默认的生命周期,这些绑定依赖于打包值。如果大家对Maven中阶段和生命周期相关概念不是很熟悉可以参考文章:

不理解Maven中生命周期和阶段的含义,是无法理解mvn clean install这条命令的!-CSDN博客

下面是一些目标与其所在对应构建阶段的绑定关系。

clean phase

site phase

Default Lifecycle Bindings - Packaging pom

Default Lifecycle Bindings - Packaging ejb / ejb3 / jar / par / rar / war

Default Lifecycle Bindings - Packaging ear

Default Lifecycle Bindings - Packaging maven-plugin

关于目标(goal)的总结

目标(goal)是真正执行任务的单元;

目标的提供者是插件(plugin),每一个plugin可能提供多个目标;

可以将对应的goal绑定到某个phase上,当在进行maven构建的过程中只要执行到了对应的phase上,就可以在当前phase上完成goal的执行。

阶段和目标的关系总结

大家看到这里可能会有个问题?goal跟phase很像,二者有什么区别呢?运行某个 phase 时,必须把生命周期中的所有的前置 phase 都会运行一遍。而运行 goal,可以脱离生命周期这个概念,通过 maven 插件,单独的运行某个 goal 或一组 goal。例如指定了jar:jar目标,它只会运行jar:jar目标来将你的代码打包到一个jar中。如果您之前没有运行编译目标或以其他方式准备编译代码,则很可能会失败。

另外,如果我们尝试构建一个Maven项目,如果没有指定阶段或目标就会报错:

 No goals have been specified for this build. You must specify a valid lifecycle phase or a goal

在IDEA中,我们可以清晰地看到我们Maven工程中生命周期、插件和目标的相关详情信息,如下所示:

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com