gpt4 book ai didi

Maven中plugins与pluginManagement的区别说明

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Maven中plugins与pluginManagement的区别说明由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

plugins与pluginManagement的区别

plugins 下的 plugin 是真实使用的,而 pluginManagement 下的 plugins 下的 plugin 则仅仅是一种声明,父项目是不能使用的,子项目中可以对 pluginManagement 下的 plugin 进行信息的选择、继承、覆盖等.

假如存在两个项目,项目A为项目B的父项目,其关系通过pom文件的关系确定。项目A的父pom文件片段如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
< pluginManagement >
     < plugins >
         < plugin >
             < groupId >org.apache.maven.plugins</ groupId >
             < artifactId >maven-resources-plugin</ artifactId >
             < version >3.1.0</ version >
             < configuration >
                 < delimiters >
                     < delimiter >@</ delimiter >
                 </ delimiters >
                 < useDefaultDelimiters >false</ useDefaultDelimiters >
             </ configuration >
          </ plugin >
     </ plugins >
</ pluginManagement >

如果项目B也想使用该plugin配置,则在项目B的子pom文件中只需要如下配置:

?
1
2
3
4
5
6
< plugins >
     < plugin >
         < groupId >org.apache.maven.plugins</ groupId >
         < artifactId >maven-resources-plugin</ artifactId >
     </ plugin >
</ plugins >

可以看到,子项目的pom文件中,省去了版本、配置细节等信息,只需要指定groupId和artifactId,其他信息均从父项目的pom文件继承。如果子pom文件需要定制自己的插件,可以另行设置,并会覆盖从父pom文件继承到的内容.

特别提示:dependencies 和 dependencyManagement 均是 project 下的直接子元素,但是 plugins 和 pluginManagement 却是 project 下 build 的直接子元素.

plugins与pluginManagement的关系

在配置SonarQube的时候遇到了一些问题,例如surefire跟failsafe应该写在哪里 。

pluginManagement的作用类似于denpendencyManagement,只是denpendencyManagement是用于管理项目jar包依赖,pluginManagement是用于管理plugin.

与pom build里的plugins区别是,这里的plugin是列出来,然后让子pom来决定是否引用.

如果要让子模块继承父模块的plugin的使用,还是要在父模块里头声明这些plugin 。

另外说一下,关于packaging,pom意味着这个包本身不会被打成jar. 。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/y_bccl27/article/details/120460875 。

最后此篇关于Maven中plugins与pluginManagement的区别说明的文章就讲到这里了,如果你想了解更多关于Maven中plugins与pluginManagement的区别说明的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com