Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Live example


If you want to see a live example of the capabilities of the Java Ecosystem, you can have a look at Sonar on Sonar.

Description / Features

The Java Ecosystem is a set of Sonar plugins used to monitor the quality of Java projects within Sonar.


The Java Ecosystem is provided with Sonar.

As any other plugins, you can update it through the Update Center or download new version into the SONAR_HOME/extensions/plugins directory. Then restart the Sonar server.


Run a Sonar Analysis

To launch a Sonar analysis of your Java project, it is recommended to use:

Sample projects for each analyzer are available on GitHub that can be browsed or downloaded: /projects/languages/java

Unit Tests and Code Coverage Reports

The default code coverage engine for unit tests can be set in Settings > Configuration > General Settings > Java > Code coverage plugin property.

By default code coverage engine is JaCoCo but CoberturaEmma or Clover can also be used.

See also Code Coverage by Unit Tests tutorial.


JaCoCo is an open source and robust Java code coverage tool, developed by the authors of EclEmma.

For more information, see: Comparison of Emma, Clover, Cobertura and JaCoCo.

Known limitations:

  • Some libraries complain on classes, which were instrumented by JaCoCo, so exclusions must be set:
    • Javassist (e.g. when Hibernate used) - "*_javassist_*"
    • Drools - "org.drools.*"
  • Exact number of line hits not available, because JaCoCo reports only status of line (no code, not covered, partly covered, fully covered) - see JaCoCo Coverage Counters.


The Sonar Cobertura plugin is based on the cobertura-maven-plugin and so can only be used to compute code coverage information on Maven projects.

This plugin has only one parameter to define the maximum amount of memory used by the java process in charge to extract all code coverage information from the Cobertura report:


In case the cobertura-maven-plugin is defined in the pom.xml of your project, Sonar will use the version defined in the pom and can potentially not function properly.




Extending Coding Rules using XPath

New coding rules can be added using XPath. See the related documentation.

To navigate the AST, download the SSLR Java Toolkit.

Change Log


Release 1.1 (15 issues)

  • No labels