Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

No JaCoCo analysis of project coverage can be done since there is no class files

I am using Bamboo, SonarQube, and Maven plugin for generating the Jacoco Report in SonarQube. It is generating jacoco.exec file but how to display reports in SonarQube? Following plugin i am using '

<plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.7.7.201606060606</version>
                <executions>
                    <execution>
                        <id>pre-unit-test</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                        <configuration>
                            <!-- Sets the path to the file which contains the execution data. -->
                            <destFile>${project.build.directory}/jacoco.exec</destFile>
                            <!-- Sets the name of the property containing the settings for JaCoCo 
                                runtime agent. -->
                            <propertyName>surefireArgLine</propertyName>
                        </configuration>
                    </execution>
                    <!-- Ensures that the code coverage report for unit tests is created 
                        after unit tests have been run. -->
                    <execution>
                        <id>post-unit-test</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <!-- Sets the path to the file which contains the execution data. -->
                            <dataFile>${project.build.directory}/jacoco.exec</dataFile>
                            <!-- Sets the output directory for the code coverage report. -->
                            <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.15</version>
                <configuration>
                    <!-- Sets the VM argument line used when unit tests are run. -->
                    <argLine>${surefireArgLine}</argLine>
                    <!-- Skips unit tests if the value of skip.unit.tests property is true -->
                    <skipTests>${skip.unit.tests}</skipTests>
                    <!-- Excludes integration tests when unit tests are run. -->
                    <excludes>
                        <exclude>**/IT*.java</exclude>
                    </excludes>
                </configuration>
            </plugin>'

i am getting following exception

build   08-Sep-2016 15:33:06    INFO: Sensor JaCoCoSensor
build   08-Sep-2016 15:33:06    INFO: No JaCoCo analysis of project coverage can be done since there is no class files.
build   08-Sep-2016 15:33:06    INFO: Sensor JaCoCoSensor (done) | time=72ms
build   08-Sep-2016 15:33:06    INFO: Sensor JaCoCoOverallSensor
build   08-Sep-2016 15:33:06    INFO: Analysing /opt/shared/atlassian/bamboo/xml-data/build-dir/EV-LEV362-JOB1/enterprise/projects/target/jacoco.exec
build   08-Sep-2016 15:33:06    INFO: No JaCoCo analysis of project coverage can be done since there is no class files.
build   08-Sep-2016 15:33:06    INFO: Sensor JaCoCoOverallSensor (done) | time=100ms
build   08-Sep-2016 15:33:06    INFO: Sensor XmlFileSensor
like image 912
Naveen Reddy Avatar asked Dec 07 '22 21:12

Naveen Reddy


1 Answers

build 08-Sep-2016 15:33:06 INFO: No JaCoCo analysis of project coverage can be done since there is no class files.

Like it said in the logs; check if you have specified following:

sonar.java.binaries=classes directory, most likely target/classes

Works better if you can also specify (it then should not complain about some classes not being found):

sonar.java.libraries=libraries directory, likely target/project/WEB-INF/lib
like image 156
NikhilWanpal Avatar answered Dec 28 '22 09:12

NikhilWanpal