Я использую покрытие кода JaCoCo, но в отчет включены классы из jar, lib. (Offline Instrumentation, Maven)
Я решил проблему с автономной конфигурацией, так как "aspectj-maven-plugin" изменял файлы классов, а также теперь я успешно исключаю пакеты за пределами target/classes
-> src
. благодаря этому ответу в stackoverflow . Но теперь я получаю классы из jar, lib внутри отчета и не знаю, как их исключить. Ниже я показываю свою конфигурацию и примеры
Я также пробовал это решение Исключить классы jar-файлов из отчета о покрытии jacoco Но это не работает для меня. <exclude>**/lib/*</exclude>
Моя автономная конфигурация jacoco:
<properties>
<jacoco.version>0.8.4</jacoco.version>
<argLine></argLine>
</properties>
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>org.jacoco.agent</artifactId>
<classifier>runtime</classifier>
<version>${jacoco.version}</version>
</dependency>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<executions>
<execution>
<goals>
<goal>instrument</goal>
<goal>restore-instrumented-classes</goal>
<goal>report</goal>
</goals>
<configuration>
<!-- this configuration affects all goals -->
<excludes>
<exclude>*</exclude>
<exclude>com/company/rrPackage/**/*.class</exclude>
<exclude>org/**/*.class</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
surefire-plugin
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.15</version>
<configuration>
<testNGArtifactName>...</testNGArtifactName>
<suiteXmlFiles>
<suiteXmlFile>...</suiteXmlFile>
</suiteXmlFiles>
<skip>${skip.test}</skip>
<systemPropertyVariables>
<jacoco-agent.destfile>target/jacoco.exec</jacoco-agent.destfile>
</systemPropertyVariables>
<properties>
...
</properties>
</configuration>
</plugin>
И причина, по которой я думаю, что я получаю классы из jar внутри dejacoco: доклад. В моем pom.xml у меня есть следующие зависимости:
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.2.9</version>
</dependency>
Кроме того, у меня есть несколько импортов в моих классах, например,
import org.hsqldb.lib.StringUtil;
, например: Это не зависит отpom.xml, но используется в одном из классов проекта, и jacoco показывает его в отчете
import javax.mail.internet.AddressException;
У меня есть другие случаи с таким же поведением, которые приводят к той же проблеме: Jacoco показывает эти классы из jarв отчете, как показано на изображениях
введите описание изображения здесь введите описание изображения здесь