You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jacoco在pom.xml配置<exclude>无法排除指定包和类问题求助

Jacoco排除规则不生效解决方案

核心原因

当前配置存在两个核心问题导致排除不生效:

  1. 全局<configuration>下的excludes规则不会自动被<execution>中绑定的report、instrument目标继承,需要显式在执行目标的配置中声明,或调整配置位置
  2. 若Jenkins使用自带的Jacoco插件二次生成报告,未同步配置排除规则也会导致统计未过滤

调整后的完整配置

<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>${jacoco.version}</version>
    <executions>
        <execution>
            <id>instrument</id>
            <phase>process-classes</phase>
            <goals>
                <goal>instrument</goal>
            </goals>
            <!-- instrument阶段就排除目标类,避免对废弃类插桩 -->
            <configuration>
                <excludes>
                    <exclude>com/dir1/dir2/dir3/dir4/**/*[Xx][Yy][Zz]*.*</exclude>
                    <exclude>com/dir1/dir2/dir3/dir4/**/*xyz*/**</exclude>
                    <exclude>com/dir1/dir2/dir3/dir4/**/*[Aa][Bb][Cc]*.*</exclude>
                    <exclude>com/dir1/dir2/dir3/dir4/**/*abc*/**</exclude>
                </excludes>
            </configuration>
        </execution>
        <execution>
            <id>restore</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>restore-instrumented-classes</goal>
                <goal>report</goal>
            </goals>
            <!-- report阶段显式配置排除,保证生成报告时过滤目标类 -->
            <configuration>
                <excludes>
                    <exclude>com/dir1/dir2/dir3/dir4/**/*[Xx][Yy][Zz]*.*</exclude>
                    <exclude>com/dir1/dir2/dir3/dir4/**/*xyz*/**</exclude>
                    <exclude>com/dir1/dir2/dir3/dir4/**/*[Aa][Bb][Cc]*.*</exclude>
                    <exclude>com/dir1/dir2/dir3/dir4/**/*abc*/**</exclude>
                </excludes>
            </configuration>
        </execution>
        <execution>
            <id>pre-unit-test</id>
            <phase>none</phase>
        </execution>
        <execution>
            <id>post-unit-test</id>
            <phase>none</phase>
        </execution>
        <execution>
            <id>pre-integration-test</id>
            <phase>none</phase>
        </execution>
        <execution>
            <id>post-integration-test</id>
            <phase>none</phase>
        </execution>
    </executions>
</plugin>

额外排查步骤

  • 本地先执行mvn clean prepare-package,查看target/site/jacoco路径下生成的报告,确认目标类已经被排除,先保证本地配置生效
  • 检查Jenkins job配置:若Job中启用了「JaCoCo代码覆盖率报告」的独立采集配置,需要在该配置的「排除类路径」项中填入和pom一致的排除规则,或者配置Jenkins直接读取Maven生成的报告文件,避免二次统计
  • 可根据实际需要简化规则:[Xx][Yy][Zz]的通配写法可以同时匹配大小写的XYZ,不需要分别写大小写两条规则

内容的提问来源于stack exchange,提问作者Atihska

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 05:57:03