Я пытаюсь исключить некоторые пакеты из сканирования покрытия Jacoco, но это работает не так, как я ожидал. Вот моя конфигурация Maven POM для Jacoco:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.0</version>
<configuration>
<excludes>
<exclude>**/pojo/**/*</exclude>
</excludes>
</configuration>
</plugin>
Поведение, с которым я сталкиваюсь, заключается в том, что файлы устанавливаются на 0% покрытых строк вместо уменьшения общего числа строк, которые нужно покрыть, что фактически снижает мой процент покрытия. Так как мне это исправить?
Обновлено: обходной путь для этой проблемы - полностью удалить файл из SonarQube, используя свойства сонара:
<sonar.exclusions>**/pojo/**/*</sonar.exclusions>
Однако это всего лишь обходной путь, поскольку теперь я не вижу запаха кода из этих файлов (вероятно, их нет, поскольку они являются объектами POJO, но мне нравится чувство безопасности, когда я точно знаю, что запаха кода нет).
Текущее объяснение вашего дела не отличается от существующих ответов на вопросы по этому поводу - например, stackoverflow.com/a/50294239/244993, stackoverflow.com/a/39446033/244993, stackoverflow.com/a/28147991/244993 Если это другое, не забудьте добавить больше деталей. И обязательно прочтите stackoverflow.com/help/mcve, чтобы предоставить достаточно подробностей, включая минимальный, полный и проверяемый пример.


Все строки кода в Sonar не полностью управляются Jacoco. Вам необходимо добавить это свойство в ваш pom.xml:
<properties>
<sonar.coverage.exclusions>**/pojo/**/*</sonar.coverage.exclusions>
</properties>
где ваше <execution> <id> ... </id> <goals> <goal> ... </goal> </goals> </ exec ution>?