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:
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.
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.
- 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.