gpt4 book ai didi

maven-2 - Maven2 : How to be sure Maven build is using a specific plugin version?

转载 作者:行者123 更新时间:2023-12-04 23:33:51 24 4
gpt4 key购买 nike

我刚刚发现 Maven 插件管理听起来很奇怪。

在进行站点生成时,我想使用特定版本的 Maven 站点插件,以使特定的功能正常工作。
假设我想使用这个插件的 2.0.1 版。

如果我使用 POM 的报告部分来使用以下命令生成我的项目站点:

mvn site

这很好用。我的意思是使用的插件版本是我想要的 2.0.1。这是我配置站点插件的 POM 的摘录:
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>2.0.1</version>
</plugin>
</plugins>
</reporting>

现在,如果我希望在构建生命周期的特定阶段生成我的站点,比如说准备包(和目标阶段),我在该部分添加以下部分:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>

<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>stage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>

在这里,我坚持使用来自 Super POM 的 Maven 站点插件版本,即。 2.0-beta-7。
即使我尝试添加指定我真的想使用版本 2.0.1 的配置,它仍然使用 2.0-beta-7。
我还尝试在该部分添加版本,因为报告部分中使用的配置也应该应用于构建部分。但这也不起作用。

也许我错过了一些东西,如果我错了,请纠正我,但这看起来像是一个错误。
Maven 方面是否需要修复在构建过程中使用的插件版本?

谢谢!

最佳答案

如果在 pom 中定义了 pluginManagement 部分,则可以声明用于任何插件的版本,这将覆盖从 super POM 继承的版本

例如:

<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>2.0.1</version>
</plugin>
</plugins>
</pluginManagement>

您可以引用 documentation 了解有关配置 pluginManagement 的一些背景知识。

关于maven-2 - Maven2 : How to be sure Maven build is using a specific plugin version?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1341776/

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