У меня есть многомодульный проект maven, и я вижу покрытие 0%, когда захожу в Sonarqube, но вижу надлежащее покрытие, когда просматриваю отчеты Jacoco в {module}/target/site/index.html
Вот соответствующая часть моего pom.xml
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.7.201606060606</version>
<executions>
<execution>
<id>jacoco-initialize</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>jacoco-site</id>
<phase>package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
Вот мой файл sonar-project.properties
## Sonar Scanner Settings File
# SonarQube info
sonar.host.url=xxx
# Project config
sonar.language=java
sonar.projectKey=project
sonar.projectName=project
sonar.projectVersion=1.0-SNAPSHOT
sonar.github.repository=lendup/project
sonar.sources=module1/src/main/java,module2/src/main/java
sonar.tests=module1/src/test/java,module2/src/test/java
sonar.sourceEncoding=UTF-8
# Test Reports
sonar.junit.reportPaths=module1/target/surefire-reports,module2/target/surefire-reports
sonar.jacoco.reportPaths=module1/target/jacoco.exec,module2/target/jacoco.exec
## Java
sonar.java.binaries=module1/target/classes,module2/target/classes
sonar.java.source=1.8
В моем проекте не используется плагин maven surefire, вместо этого он устанавливается вручную в локальное репо, например
mvn install:install-file -Dfile=assets/surefire-junit4-2.17.jar -DgroupId=org.apache.maven.surefire -DartifactId=surefire-junit4 -Dversion=2.17 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
Включите полную командную строку (т.е. параметры, цели), которую вы используете для вызова maven.


«В моем проекте не используется плагин maven surefire» -> Как получить покрытие кода без выполнения модульных тестов?