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 70 Next »

NameJava Ecosystem
Latest version1.5 ( 28 october 2013 )
Requires SonarQube version3.6 or higher ( check version compatibility )
LicenseGNU LGPL 3
Issue tracker

Live example


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

Description / Features

The Java Ecosystem is a set of plugins used to monitor the quality of Java projects within SonarQube. The following plugins are included:

Other optional plugins are available for download: AndroidCobertura, EmmaCloverClirr and fb-contrib.

The Java Ecosystem is 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 the latest release from this page header.


Run a SonarQube Analysis

To run an analysis of your Java project, you can use the following analyzers:

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


  • 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/ Otherwise you would get an error like this 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.

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

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

Change Log


Version 1.4 (105 issues)

T Key Summary P
Improvement SONARJAVA-171 The rules 'Duplicated blocks' and 'Insufficient branch coverage by unit tests' should be part of the default java quality profiles Major
Bug SONARJAVA-174 "comment_lines_data" wrongly computed for multi-line comments Major
Improvement SONARJAVA-172 The rule 'UnusedPrivateMethodCheck' should not take into account the private method 'readObjectNoData()' Major
New Feature SONARJAVA-215 Rule: Source code should be correctly indented Major
New Feature SONARJAVA-214 Rule: Deprecated elements should have both the annotation and the Javadoc tag Major
New Feature SONARJAVA-211 Rule: Local variables should not shadow class fields Major
New Feature SONARJAVA-210 Rule: Redundant throws Major
Task SONARJAVA-209 Deprecate Checkstyle's final variable naming convention rule Major
New Feature SONARJAVA-208 Rule: Long constants should be defined with an upper 'L' Major
New Feature SONARJAVA-207 Rule: Unused imports should be removed Major
New Feature SONARJAVA-206 Rule: Trailing comment Major
Task SONARJAVA-204 Rule: Assignments should not be made from within sub-expressions Major
New Feature SONARJAVA-202 Rule: Modifiers should be declared in the correct order Major
New Feature SONARJAVA-205 Rule: Equals method should be used to compare strings Major
New Feature SONARJAVA-201 Rule: Empty statement Major
New Feature SONARJAVA-200 Rule: The final clause of a switch statement shall be the default-clause Major
New Feature SONARJAVA-199 Rule: Labels should not be used Major
New Feature SONARJAVA-196 Rule: The Object.finalize() method should never be overriden Major
New Feature SONARJAVA-197 Rule: 'super.finalize()' should be called at the end of Object.finalize() implementations Major
New Feature SONARJAVA-264 Rule: Object.finalize() method should not be overloaded (by adding some method parameters) Major
Showing 20 out of 105 issues Refresh



Version 1.3 (43 issues)

T Key Summary P
Bug SONARJAVA-165 "Undocumented API" detects private attributes as public Critical
Bug SONARJAVA-29 "Avoid Throwing Raw Exception Types" Rule not able to detect "throw new Exception" in all cases Major
Bug SONARJAVA-135 The rule "Unused private method" generates some false-positives in case of method overloading Major
New Feature SONARJAVA-133 Compute the new metric "complexity in methods" Major
New Feature SONARJAVA-128 Rule S00108: Nested blocks of code should not be left empty Major
New Feature SONARJAVA-127 Rule S00107: Methods should not have too many parameters Major
New Feature SONARJAVA-125 Rule S00112: Generic exceptions Error, RuntimeException, Throwable and Exception should never be thrown Major
New Feature SONARJAVA-122 Rule S00105: Tabulation characters should not be used Major
New Feature SONARJAVA-121 Rule S00104: Files should not have too many lines of code Major
New Feature SONARJAVA-119 Rule S00101: Class names should comply with a naming convention Major
New Feature SONARJAVA-118 Rule S00100: Method names should comply with a naming convention Major
New Feature SONARJAVA-120 Rule S00103: Lines of code should not be too long Major
Improvement SONARJAVA-166 Reorganize the properties of every Java plugin using sub-categories Major
Bug SONARJAVA-164 The Sonar JaCoCo plugin takes into account only the first binary directories if several ones are provided Major
Bug SONARJAVA-161 XPath rule should not lead to NPE, when parse error happens Major
Improvement SONARJAVA-105 The cardinality of JaCoCo properties "includes", "excludes" and "exclclassloader" should be multiple Major
Improvement SONARJAVA-154 Use the new Sonar API to highlight any symbol use or declaration in java source code Major
Improvement SONARJAVA-153 Use the Sonar Syntax Highlighting API to colorize java source code Major
New Feature SONARJAVA-152 Deprecate PMD rule AvoidDollarSigns in favor of S00114 - S00117 Major
New Feature SONARJAVA-151 Rule S00122: Statements should be on separate lines Major
Showing 20 out of 43 issues Refresh



Version 1.2 (16 issues)



Version 1.1 (15 issues)


  • No labels