我的父 POM 明确声明 依赖于
maven-javadoc-plugin 2.9.1
(MJP)
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
</plugin>
...
<reporting>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
...
和
mvn help:effective-pom
表示正在使用2.9.1。但是,构建使用的是 2.10,这会导致构建失败。这就像
maven-javadoc-plugin 破坏了 mvn release:perform。
mvn help:describe -DgroupId=org.apache.maven.plugins -DartifactId=maven-javadoc-plugin
显示
Name: Apache Maven Javadoc Plugin
Description: The Apache Maven Javadoc Plugin is a plugin that uses the javadoc tool for generating javadocs for the specified project.
Group Id: org.apache.maven.plugins
Artifact Id: maven-javadoc-plugin
Version: 2.10
Goal Prefix: javadoc
同时,
mvn dependency:resolve-plugins
显示
[INFO] Plugin Resolved: maven-javadoc-plugin-2.9.1.jar
。
然而,当我运行构建时,mvn 使用 MJP 版本 2.10 代替,导致构建失败。我使用的是 Maven 版本 3.2.1。
如何强制maven使用2.9.1而不是损坏的2.10?
确保您正在寻找正确的依赖项。我们看到指定的 2.9.1 用于站点报告,但构建使用 2.10。我相信你应该在你的
中指定它<build><plugins>
还有部分。
我们刚刚确认我们遇到了同样的问题。我们在报告插件部分有插件版本,但没有构建插件。一旦我们将其添加到构建插件部分,问题就解决了。它需要出现在构建插件中的原因是因为它在准备部署阶段用于构建 javadoc jar。这与为站点报告生成 javadoc 分开进行。