【问题标题】:cobertura-maven-plugin 2.6 is used despite 2.7 is configured尽管配置了 2.7,但仍使用 cobertura-maven-plugin 2.6
【发布时间】:2015-04-19 10:33:57
【问题描述】:

我的 POM 中有这个部分:

<reporting>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>cobertura-maven-plugin</artifactId>
            <version>2.7</version>
        </plugin>
    </plugins>
</reporting>

当我从终端调用这个命令时:

mvn clean cobertura:cobertura

cobertura-maven-plugin 使用版本 2.6

[INFO] >>> cobertura-maven-plugin:2.6:cobertura (default-cli) > [cobertura]test @ myproject >>>

如果我也添加此部分:

<build>
    <!-- ... -->
    <plugins>
        <!-- ... -->
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>cobertura-maven-plugin</artifactId>
            <version>2.7</version>
        </plugin>
    </plugins>
</build>

2.7 版本按预期使用。这正常吗?

【问题讨论】:

    标签: maven cobertura maven-cobertura-plugin


    【解决方案1】:

    在第一个示例中,您已将版本 2.7 中的 Cobertura 添加到仅在 site 阶段生成的报告中。目标cobertura:coberturaboundtest 阶段,这是独立的lifecycle

    为了解决此类问题,有pluginManagementsection。将以下内容添加到 POM:

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>cobertura-maven-plugin</artifactId>
          <version>2.7</version>
        </plugin>
      </plugins>
    </pluginManagement>
    

    其他任何地方都使用 Cobertura,但不提供版本:

    <build>
        <!-- ... -->
        <plugins>
            <!-- ... -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>cobertura-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    <!-- ... -->
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>cobertura-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </reporting>
    

    【讨论】:

    • 我明白了,谢谢。 2.6 版本是从哪里来的?不在super-POM中,可能是Maven本身定义的?
    • 这里是日志:[DEBUG] Resolved plugin prefix cobertura to org.codehaus.mojo:cobertura-maven-plugin from repository central. [DEBUG] Resolving plugin version for org.codehaus.mojo:cobertura-maven-plugin. [DEBUG] Resolved plugin version for org.codehaus.mojo:cobertura-maven-plugin to 2.6 from repository central (http://repo.maven.apache.org/maven2, releases). 但我不确定为什么它默认从 Maven Central 获取 2.6。
    • maven-metadata-central.xml for cobertura 插件有&lt;latest&gt;2.6&lt;/latest&gt; 标签。这是可能的解释:support.sonatype.com/entries/…
    猜你喜欢
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    • 1970-01-01
    • 2021-04-13
    • 2021-04-15
    相关资源
    最近更新 更多