我刚刚发现 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 端是否需要修复构建过程中要使用的插件版本?
Thanks!
如果你在pom中定义了一个pluginManagement部分,你可以声明任何插件使用的版本,这将覆盖从超级POM继承的版本
例如:
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>2.0.1</version>
</plugin>
</plugins>
</pluginManagement>
您可以参考文档 http://maven.apache.org/pom.html#Plugin_Management有关配置插件管理的一些背景知识。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)