|Latest version||2.1 ( 25 march 2014 )|
|Requires SonarQube version||4.2 or higher ( check version compatibility )|
|License||GNU LGPL 3|
Description / Features
The Java Ecosystem is a set of plugins used to monitor the quality of Java projects within SonarQube.
On top of the coding rules provided by the SonarQube engine, you can activate rules from Checkstyle, FindBugs, PMD, Clirr, and fb-contrib. However, we highly recommend that you limit your Quality Profiles to from the SonarQube engine because we believe they are faster, more accurate (fewer false positives and false negatives), and more usable (they have better descriptions, etc). Read this blog post for more details.
Run a SonarQube Analysis
To run an analysis of your Java project, you can use the following analyzers:
- SonarQube Runner: recommended for all non-Maven projects
- Maven: recommended for all projects built with Maven
- SonarQube Ant Task: to integrate with projects built with Ant
- Gradle: to integrate with projects built with Gradle
- The source directory must be set to the directory containing the top parent package. For example, if your directory structure is src/main/java/com/mycompany/..., the source directory must be set to src/main/java.
- The source directory tree must match the package declaration. For example, the following class:
must be located in the following directory: [mySourceDirectory]/com/mycompany/mypackage/MyClass.java. Otherwise you would get an error like below while running your analysis:
Tests and Code Coverage
The default code coverage engine for unit tests can be set in Settings > General Settings > Java > Code coverage plugin property.
To deal with unit tests and code coverage, see Code Coverage by Unit Tests for Java Project tutorial.
To deal with integration tests and code coverage, see Code Coverage by Integration Tests for Java Project tutorial.
To Go Further
- Java Ecosystem FAQ
- Metric definitions
- Additional plugins are available:
- Extending Coding Rules using XPath. To navigate the AST, download the SSLR Java Toolkit.
All the valuable rules from PMD and Checkstyle were rewritten based on our own SSLR technology. These rules are now available in the SonarQube repository. Deprecated rules from PMD and Checkstyle are flagged as so and their replacement is stated in the rule description:
sonar.surefire.reportsPathhas been removed and replaced by