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

问题描述 投票:0回答:1

我的父 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?

maven-3 maven-plugin versioning maven-dependency-plugin maven-javadoc-plugin
1个回答
5
投票

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

中指定它

<build><plugins>

还有部分。

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

© www.soinside.com 2019 - 2024. All rights reserved.