JaCoCo не игнорирует класс

Я успешно добавил JaCoCo в свой проект, он отлично работает, но по некоторым причинам он не позволяет мне исключить класс: src / main / java / com / example / Main.java

       <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.1</version>
            <executions>
                <execution>
                    <id>prepare-agent</id>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>check</id>
                    <goals>
                        <goal>check</goal>
                    </goals>
                    <configuration>
                        <skip>false</skip>
                        <haltOnFailure>true</haltOnFailure>
                        <rules>
                            <rule>
                                <element>BUNDLE</element>
                                <excludes>
                                    <exclude>com/example/Main.*</exclude>
                                </excludes>
                                <limits>
                                    <limit>
                                        <counter>LINE</counter>
                                        <value>COVEREDRATIO</value>
                                        <minimum>0.80</minimum>
                                    </limit>
                                    <limit>
                                        <counter>BRANCH</counter>
                                        <value>COVEREDRATIO</value>
                                        <minimum>0.60</minimum>
                                    </limit>
                                </limits>
                            </rule>
                        </rules>
                    </configuration>
                </execution>
                <execution>
                    <id>report</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

Я пробовал остальные вопросы на сайте, но ни один из них не помог мне, когда дело доходит до исключения одного класса. После выполнения приведенного выше кода я получаю следующий вывод, содержащий класс Main, которого я хотел бы избежать:

Выход

заранее спасибо

1 ответ

Решение

В вашем вопросе excludes блок объявлен внутри configuration/rules, Должно быть объявлено внутри configuration,

Например:

<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>0.8.1</version>
    <configuration>
        <excludes>
            <exclude>**/Main.*</exclude>
        </excludes>
    </configuration>
    <executions>
        <execution>
            <id>default-prepare-agent</id>
            <goals>
                <goal>prepare-agent</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Я бы предложил начать с самого простого определения плагина (то есть с того, что я опубликовал выше), и после того, как это сработает, расширьте его до (1) ссылки на класс по имени пакета и (2) для добавления ваших правил.

Другие вопросы по тегам