您好我正在尝试使用jacoco排除我的代码覆盖率的类。我想排除gui文件夹及其中的所有类。
<configuration>
<excludes>
<exclude>com.project/folder/tools/gui/*.class</exclude>
</excludes>
</configuration>
com.project - &gt;文件夹 - &gt;工具 - &gt; GUI
我尝试了很多不同的路径,但出于某种原因,它不会排除任何路径。 我做错了吗? 任何人都可以指出我正确的方向。
答案 0 :(得分:0)
我也面临同样的问题。在我的情况下,我试图生成在j2EE服务器上运行的应用程序的代码覆盖率。我试图删除一些没有太多用处的类,以增加代码覆盖率,但排除对我没用。
最后我尝试了解决这个问题,而不是使用exclude in to configuration。我已从负责生成报告的任务路径中删除了clasess。
答案 1 :(得分:0)
Maven include / exclude语法是Ant。所以我建议你看一下fileset documentation,你可以在那里找到一些说明性的例子。
在您的特定配置中,它可以使用此模式
**/gui/**
假设您没有使用包裹名称&#34; gui&#34;在其他方面。
答案 2 :(得分:0)
我们可以从覆盖率检查中排除该类(即,如果覆盖率未达到目标,则使构建失败),但不能将其从报告中排除(即您仍然可以在报告中看到该类)。是你追求的吗?
如果要从检查中排除类,则可以尝试以下配置,请使用com.project.folder.tools.gui。*模式,且不带斜杠和后缀。
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>check</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<haltOnFailure>true</haltOnFailure>
<rules>
<rule>
<element>CLASS</element>
<excludes>
<exclude>com.example.className</exclude>
<exclude>com.example.config.*</exclude>
</excludes>
<limits>
<limit>
<counter>LINE</counter>
<value>COVEREDRATIO</value>
<minimum>0.80</minimum>
</limit>
</limits>
</rule>
</rules>
</configuration>
</execution>
</executions>
</plugin>
检查this offical doco了解详情