Maven3 子项目不从 `pluginManagement` 引用,而是从父项目继承
Posted
技术标签:
【中文标题】Maven3 子项目不从 `pluginManagement` 引用,而是从父项目继承【英文标题】:Maven3 child project does not reference from `pluginManagement` but inherit from parent project 【发布时间】:2021-07-14 10:23:18 【问题描述】:我的项目树喜欢
parent project (plugin A: version=1.0)
child project (pluginManagement(plugin A: version=2.0), (plugin A: without version))
示例
父母<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
</plugin>
孩子
...
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
...
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
</plugin>
</plugins>
</pluginManagement>
将使用最终版本 2.22.2
而且我不能更改父 pom.xml
,它就像 spring-boot-starter-parent
。
如何使用pluginManagement
指定的版本?
【问题讨论】:
【参考方案1】:通过不在父 POM 的 <plugins>
部分中指定版本。在父 POM 中使用 <pluginManagement>
。
【讨论】:
谢谢你的帖子,但我无权更改父pom文件,它就像spring-boot-starter-parent
那么不能使用pluginManagement
覆盖版本,需要直接在<plugins>
中的<plugin>
定义中设置。
谢谢,但如果这是唯一的方法,我觉得很奇怪。
直接定义总是比pluginManagement
强。这也适用于父 POM 中的直接定义。以上是关于Maven3 子项目不从 `pluginManagement` 引用,而是从父项目继承的主要内容,如果未能解决你的问题,请参考以下文章
maven中的plugins 和 pluginManagement有啥区别
maven中的plugins 和 pluginManagement有啥区别
Maven中plugins和pluginManagement的区别
是否可以不在父pom中指定pluginManagement?