Покрытие кода не заполняется после анализа сонара

Я использую sonarqube5.6.1.

У меня есть многомодульный проект, для которого я выполняю гидролокаторный анализ с помощью приведенной ниже команды.

mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.1.1:sonar -Dsonar.host.url=http://bamboo.in.XXX.com:8085 -Dsonar.analysis.mode=publish -Dsonar.issuesReport.html.enable=true -Dsonar.dynamicAnalysis=false

Но охват кода вообще не заполняется.

Может ли кто-нибудь помочь. Я мог видеть нижеприведенные предупреждения, Не уверен, что это причина.

[INFO] Process project properties
[WARNING] /!\ A multi-module project can't have source folders, so '/ssdd5/sameenud/dev/trunk/AAAA/BBBB/CCCC/DDDD/src/main/java' won't be used for the analysis. If you want to analyse files of this folder, you should create another sub-module and move them inside it.

Структура папок у нас такая, как показано ниже,

AAAA
   --BBBB
       pom.xml
       ---CCCC
          pom.xml
          ---DDDD
             pom.xml

Я попытался скомпилировать его вручную, но не повезло, та же проблема.

2 ответа

У меня была похожая проблема, охват 0, 0% и отсутствие подсчета юнит-тестов на приборной панели Sonar с SonarQube 6.7.2: Maven: 3.5.2, Java: 1.8, Jacoco: Работал с 7.0/7.9/8.0, ОС: Windows

После многих попыток найти правильное решение, проблема с этой конфигурацией выглядит так:

 <properties>
            <!--Sonar -->
            <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
            <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
        <sonar.jacoco.reportPath>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPath>
            <sonar.language>java</sonar.language>

        </properties>

        <build>
            <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-compiler-plugin</artifactId>
                        <configuration>
                            <source>1.5</source>
                            <target>1.5</target>
                        </configuration>
                    </plugin>

                    <plugin>
                        <groupId>org.sonarsource.scanner.maven</groupId>
                        <artifactId>sonar-maven-plugin</artifactId>
                        <version>3.4.0.905</version>
                    </plugin>

                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                        <version>0.7.9</version>
                        <configuration>
                            <destFile>${sonar.jacoco.reportPath}</destFile>
                            <append>true</append>
                        </configuration>
                        <executions>
                            <execution>
                                <id>agent</id>
                                <goals>
                                    <goal>prepare-agent</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>

                </plugins>
            </pluginManagement>
        </build>

Я пробовал несколько других опций, таких как jacoco-aggregate и даже создавал субмодуль, включив его в родительский pom, но ничего не получалось, и это просто. Я вижу в логах <sonar.jacoco.reportPath> устарела, но все еще работает как есть и выглядит как автоматически заменяемая при выполнении или может быть вручную обновлена ​​до <sonar.jacoco.reportPaths> или последний. Однажды после установки, в cmd начните с mvn clean install, затем mvn org.jacoco: jacoco-maven-plugin: prepare-agent install и затем выполните mvn sonar: sonar, это то, что я пробовал, пожалуйста, дайте мне знать, если какой-то другой лучшее возможное решение доступно. Надеюсь, что это помогает! Если нет, пожалуйста, оставьте свой вопрос..

SonarQube (а точнее анализатор SonarJava) не вычисляет покрытие. Вы должны предоставить отчет о покрытии, чтобы анализ импортировал его результаты в пользовательском интерфейсе SonarQube и отобразил покрытие.

См. Документацию для получения дополнительной информации о том, как этого добиться.

Другие вопросы по тегам