JaCoCo всегда генерирует сводный отчет в немодульном проекте и не отображает покрытие на сайте Maven.JAVA

Программисты JAVA общаются здесь
Anonymous
JaCoCo всегда генерирует сводный отчет в немодульном проекте и не отображает покрытие на сайте Maven.

Сообщение Anonymous »

У меня есть один проект библиотеки Java 11 (jar), чей pom Maven ссылается на родительский pom для общих свойств и конфигурации. Подмодулей нет, и родительский pom не имеет подмодулей. Родительский pom содержит раздел
. И родительский pom, и pom проекта содержат конфигурацию для Jacoco, и, как и ожидалось, pom проекта переопределяет родительский. У моего родительского pom нет записи Jacoco в разделе .
Что я пытаюсь сделать:
Создайте ссылку на отчет Jacoco на сайте Maven проекта.
Что происходит:
При запуске mvn clean test site генерируется полный отчет о покрытии Jacoco по модульным тестам проекта в каталоге target/site/jacoco, но не связан с ним в Отчетах проекта. Вместо этого всегда появляется ссылка Jacoco Aggregate, которая отображает пустой отчет. Файл данных Jacoco создается в правильном месте. Папка target/site/jacoco-aggregate содержит всего несколько файлов, включая index.html.
Что я пробовал
Я попробовал несколько вещей, чтобы создать ссылку, а также прочитав различные статьи (например, пустой совокупный отчет с родительским pom и отчет Jacoco не генерируется на сайте) и документацию JaCoCo, и я узнал, что все отчеты Jacoco будут генерироваться автоматически, если в разделе не настроен конкретный отчет, который в настоящее время является отчетом. Я также переместил плагин Jacoco из раздела родительского pom в раздел (родительского pom), поскольку это предположительно может заставить плагин думать так это модульный проект, но это не решило проблему. Я также пробовал комментировать различные теги, которые настраивают плагин, но их удаление не включило отчет. Единственная настройка, которую я не могу отключить, — это цели подготовки агента и отчета.
Вывод в консоль

Консоль показывает это предупреждение, но я вижу его в проектах, даже если оно работает правильно.

Код: Выделить всё

[INFO] Skipping JaCoCo execution due to missing execution data file.
Родительский pom

Код: Выделить всё


...



org.jacoco
jacoco-maven-plugin
0.8.11


default-prepare-agent

prepare-agent


${jacoco.skip}
argline.jacoco
${project.build.directory}/code-coverage/data/jacoco.exec

${jacoco.include}


${jacoco.exclude}




default-report

report

test

${jacoco.skip}
${project.build.directory}/code-coverage/data/jacoco.exec
${project.build.directory}/code-coverage/report

${jacoco.include}


${jacoco.exclude}





...

Project pom

Код: Выделить всё



org.jacoco
jacoco-maven-plugin
0.8.11

${project.build.directory}/site/jacoco


...





org.jacoco
jacoco-maven-plugin
${version.jacoco}



default-prepare-agent

prepare-agent




default-report

report

test

${jacoco.skip}
${project.build.directory}/code-coverage/data/jacoco.exec
${project.build.outputDirectory}/site/jacoco

${jacoco.include}


${jacoco.exclude}





...


Я мог бы настроить плагин maven-site-plugin для добавления ссылки «Jacoco» вручную, но мне не нужно этого делать.


Подробнее здесь: https://stackoverflow.com/questions/787 ... nt-display

Вернуться в «JAVA»