Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.




Default value



Description of the project.
Set through <description> when using Maven. 


Comma-separated paths to directories containing binaries (in case of Java: directories with class files).
Not compatible with Maven: binaries retrieved from default location for Java Maven projects. 


Comma-separated paths to directories containing tests.
Not compatible with Maven: tests retrieved from default location for Java Maven projects.  


Comma-separated paths to files with third-party libraries (in case of Java: JAR files). Pattern can be used.


Code Block

Note that * wildcard character is not supported for directories (only for files).

This property is used by rule engines during issues detection (mainly SonarQubeengine and FindBugs engines which rely on bytecode). Having the bytecode of these libraries allows to get more information on coupling, possible null parameters when calling external APIs, etc. and thus getting more accuracy during issues detection.



Encoding of source files. Example of values: UTF-8, MacRoman, Shift_JIS. This property can be replaced by the standard property in Maven projects.

The list of available encodings depends on your JVM. See

System encoding



Sometimes, for security or other reasons, project sources must not be stored and displayed.


since 1.5

sonar.projectDateIt becomes quickly necessary to input historical data and to highlight some events. It is possible by going for example in a subversion tag and use the sonar.projectDate option

When starting to analyze a new project, you may want to feed your SonarQube instance with the quality snapshots of the last versions of this project. In order to get some information on quality trend over the last versions.

When moving from one database engine to another, it is highly recommended (even mandatory) to start from a fresh new database schema. In this case, you will lose your whole history. So, you may also want to feed the new SonarQube instance with some historical data.

To answer those use cases, you can use the sonar.projectDate property. Format is yyyy-MM-dd, for example: 2010-12-25.01.

The process is the following:

  • Retrieve a specific version of the source code of your application from the SCM (from a specific tag, whatever)
  • Run a SonarQube analysis on this project by setting the sonar.projectDate property. Example: sonar-runner -Dsonar.projectDate=2010-12-01
  • Retrieve another version of the source code of your application from the SCM and run another analysis by properly setting the sonar.projectDate property. And so on for all the versions of your application you're interested in.
Note: first analyze the latest version and then move in chronological order to the newest one.


Current date

since 1.5


Exclude files from analysis. See Project Administration for more details. This page also details sonar.tests.exclusions, sonar.inclusions, sonar.tests.inclusions,,




Some project modules should not be analyzed and consolidated with global project measures, for instance samples, integration tests or generated code.
If a module's artifactId differs from its module name (the directory name): it is the artifactId that should be use instead of the module name. Format is a comma-separated list of modules: module1_to_exclude,module2_to_exclude.


since 1.5


Comma-separated list of the modules to analyse, all other modules are automatically ignored. Be careful: the root project must be added to the list.
If a module's artifactId differs from its module name (the directory name) : it is the artifactId that should be use instead of the module name.


since 2.2


Manage SCM branches. Two branches of the same project are considered as different projects in SonarQube.


since 1.10


Through the web interface, you can define as many quality profiles as you want and you can easily associate one of these quality profiles to a given project.

Default profile for the given language

since 1.6


To skip the computation of design metrics and dependencies.

Currently only available for Java.


since 2.0


When SonarQubeneeds a Maven phase or goal to be executed prior to the analysis, this parameter can be used. For example sonar.phase=generate-sources. This property is used only for Maven analysis.


since 1.10


Dynamic analysis relates to unit tests. By default, those unit tests are executed but you can optionally decide to do only static analysis or to reuse existing reports which have been previously generated. Possible values are true, false, reuseReports.

See the Code Coverage by Unit Tests tutorial for details and examples.


since 1.7


To set the working directory for the SonarQube Runner or the SonarQube Ant Task (versions greater than 2.0).

Beware: the specified folder is deleted before running each analysis.