| Name | Java Plugins Ecosystem |
|---|---|
| Latest version | 1.1 ( 22 December 2012 ) |
| Requires Sonar version | 3.4 or higher ( check version compatibility => TODO ) |
| Download | TODO |
| License | GNU LGPL 3 |
| Developers | SonarSource |
| Issue tracker | http://jira.codehaus.org/browse/SONARJAVA |
| Sources | https://github.com/SonarSource/sonar-java |
| 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.
Installation
The Java Ecosystem is a set of plugins:
- Mandatory plugins:
- Java [sonar-java-plugin]: to parse Java code source, compute metrics, etc.
- Squid [sonar-squid-java-plugin]: to check code against rules provided by the Sonar engine
- Optional plugins adding features from external tools:
- Checkstyle [sonar-checkstyle-plugin]: to check code against rules provided by Checkstyle
- FindBugs [sonar-findbugs-plugin]: to check code against rules provided by FindBugs
- PMD [sonar-pmd-plugin]: to check code against rules provided by PMD
- Surefire [sonar-surefire-plugin]: to execute unit tests with Surefire
- Cobertura [sonar-cobertura-plugin]: to get code coverage with Cobertura
- JaCoCo [sonar-jacoco-plugin]: to get code coverage with JaCoCo
Note that by default the Java Ecosystem is provided with Sonar.
You can update it from the Update Center (since Sonar 3.5) or download the latest release from this page header.
Usage
Run a Sonar Analysis
To launch a Sonar analysis of your Java project, it is recommended to use the following analyzers:
- Maven for Maven projects
- Ant for Ant projects
- Sonar Runner otherwise
Sample projects for each analyzer are available on GitHub that can be browsed or downloaded: /projects/languages/java
Tests and Code Coverage
The default code coverage engine for unit tests can be set in Settings > Configuration > General Settings > Java > Code coverage plugin property.
By default the code coverage engine is JaCoCo but Cobertura, Emma or Clover can also be used.
To see how to deal with unit tests and code coverage for Java project in Sonar, see Code Coverage by Unit Tests for Java Project tutorial.
To see how to deal with integration tests and code coverage for Java project in Sonar, see Code Coverage by Integration Tests for Java Project tutorial.
Advanced Settings
Documentation on advanced parameters is available on the Analysis Parameters page.
Advanced parameters specific to Java are:
| Key | Description | Default value |
sonar.skipDesign | Deactivate Java bytecode analysis. The Java bytecode is analyzed by Sonar in order to extract dependencies between packages and files. These dependencies are used for instance to display the DSM (Dependency System Matrix). This bytecode analysis can be deactivated. | false |
sonar.java.source | Java version of the source code. This property is not used by the Sonar core but can be used by Java Sonar plugin like the PMD plugin. | 1.5 |
FAQ
See Java Ecosystem FAQ.
Android
TODO
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

