java - Maven 中 pluginManagement 的范围 & reporting.plugins.plugin.version 缺少警告

标签 java maven plugins jacoco-maven-plugin

我的 Maven 项目给我这样的 reporting.plugins.plugin.version 警告:

[WARNING] Some problems were encountered while building the effective model for com.example:test:jar:1.0-SNAPSHOT
[WARNING] 'reporting.plugins.plugin.version' for org.jacoco:jacoco-maven-plugin is missing. @ line 10, column 21

我知道 Maven 3 is stricter about plugin versions并且必须指定该插件版本。我在 pluginManagement 中指定了版本:

<pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.7.2.201409121644</version>
        </plugin>
    </plugins>
</pluginManagement>

当我在 build/plugins 中使用插件时,这工作正常并且没有警告:

<build>
    <plugins>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

不起作用,但是,在reporting/plugins :

<reporting>
    <plugins>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
        </plugin>
    </plugins>
</reporting>

我的问题是:build/plugingManagement中指定的版本范围是什么?仅限于<build>内标签?我可以在不在两个地方复制插件版本的情况下修复警告吗?


这是生成警告的完整示例:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>test</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
            </plugin>

        </plugins>
    </reporting>


    <build>
        <plugins>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
            </plugin>
        </plugins>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>0.7.2.201409121644</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>

最佳答案

这似乎是旧版 Maven 中的错误。看看this bug ticket在 Apache 。

.尝试使用 Maven 3 和 maven-site-plugin-3。

关于java - Maven 中 pluginManagement 的范围 & reporting.plugins.plugin.version 缺少警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33364975/

相关文章:

Android - this.cordova.getActivity().getApplicationContext() 的空指针异常

jQuery循环插件: zoom out and then fade

Java - 为什么 transient 成员变量在 Java 标准库中使用如此广泛?

java - 将 2 个数组链接或合并为 1 个数组并在 java 中对它们进行排序

java - 如何检测对 JTable 行边界的点击?

maven - Jenkins CI : Where and how store configuration files?

java - 如何在 IntelliJ 中调试集成测试?

maven - java.util.concurrent.ExecutionException org.apache.catalina.LifecycleException java.lang.NoClassDefFoundError

plugins - Gradle for Maven 提供的范围缺少 OOTB 支持。 Spring 的 Gradle propdeps-plugin 未按预期运行

java - 如何将麦克风音频流式传输到同一设备 throw 扬声器