|Latest version||1.5 ( 28 october 2013 )|
|Requires SonarQube version||3.6 or higher ( check version compatibility )|
|License||GNU LGPL 3|
Description / Features
The ecosystem enables analysis of Java Ecosystem is a set of plugins used to monitor the quality of Java projects within Sonar.
On top of the coding rules provided by the SonarQube engine, you can activate rules from Checkstyle, FindBugs, PMD, Clirr, fb-contrib. But, we highly recommend you to use rules from the SonarQube engine as much as possible because we believe that they are more accurate (fewer false positives and false negatives), faster and have better descriptions, etc. Read this blog post for more details.
The Java Ecosystem is provided with Sonar.As any other plugins, you can update it through the compatible with the SonarQube Eclipse plugin for tracking issues while coding. It is also compatible with the Issues Report plugin to run pre-commit local analysis.
By default the Java Ecosystem is provided with SonarQube. You can update it from the Update Center or download new version into the SONAR_HOME/extensions/plugins directory. Then restart the Sonar serverthe latest release from this page header. Don't forget to check the upgrade notes.
- 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/
Run a Sonar Analysis with the other Analyzers
Unit Tests and Code Coverage Reports
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.
- 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:
package com.mycompany.mypackage; ...
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:
Exception in thread "main" org.sonar.batch.bootstrapper.BootstrapException: org.sonar.squid.api.AnalysisException: Got an exception - org.sonar.squid.api.AnalysisException: The source directory does not correspond to the package declaration com.mycompany.mypackage, file : ..\src\MyClass.java ...
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.
sonar.surefire.reportsPathis deprecated. Use