maven - 尽管有明确的插件和 pluginManagement 版本,为什么 Maven 使用了错误的插件?

标签 maven maven-dependency-plugin maven-javadoc-plugin

我的 parent pom 明确在两者中声明对 maven-javadoc-plugin 2.9.1 的依赖

<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>
         ...

(见 Maven plugin version in pom (seemingly) ignored)和 mvn help:effective-pom显示正在使用 2.9.1。但是,构建使用的是 2.10,这会导致构建失败(请参阅
maven-javadoc-plugin breaks mvn release:performhttp://jira.codehaus.org/browse/MJAVADOC-407 )
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 使用 2.10,导致构建失败。

如何强制 maven 使用 2.9.1 而不是损坏的 2.10?

(我正在使用 Maven 3.2.1)

最佳答案

确保您正在查看正确的依赖项。我们看到指定的 2.9.1 用于站点报告,但构建使用 2.10。我相信你应该在你的

<build><plugins>



部分也是如此。

我们刚刚确认我们遇到了同样的问题。我们在报告插件部分有插件版本,但没有构建插件。一旦我们将它添加到构建插件部分,问题就解决了。它需要在构建插件中的原因是因为它在准备部署阶段被用来构建一个 javadoc jar。这与为站点报告生成 javadoc 分开发生。

关于maven - 尽管有明确的插件和 pluginManagement 版本,为什么 Maven 使用了错误的插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26024479/

相关文章:

java - Maven 依赖插件添加名为目录的 Artifact

java - SonarQube 没有在 javadoc 中显示错误

java - Maven javadoc 插件仅修复现有的 javadoc

java - maven-javadoc-插件错误javadoc : error - cannot read Input length = 1 with non-ASCII characters in directory name

java - 如何通过 Maven 将 jar 文件添加到 war 文件的 WEB-INF/lib 文件夹中?

android - Eclipse (Kepler) 使用 JUnit3 运行器而不是 Junit4 运行器运行每个新的 JUnit 测试

maven - 本地 Maven 依赖项目被引用为类文件夹而不是 jar

java - 17 版在分析时“未找到依赖关系”

java - 如何找到 Maven 插件目标的依赖项

java - 使用 mvnDebug 命令在 maven 中调试