Versions Compared


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


To create a Sonar pluginSonarQube plugin, you need Java 6 or later. Maven is not required to build sources but it is highly recommended. Moreover this guide uses Maven to create and compile sources.


compile and package the plugin.

Creating a New Plugin

The recommended way is to duplicate one of the examples located in the directory / plugins directory of this the following GitHub repository: If you donaren't which one must be usedsure which plugin to use, then select the plugins/sonar-reference-plugin.

There are two ways to copy the example:

  1. if you have Git, then just clone the repository
  2. if you don't have Git, download the repository at


Building and


Deploying a Plugin

Simply execute:

Code Block
mvn clean install

from the root directory, for example /path/to/sonar-reference-plugin. The JAR file is generated in the target directory /target. It must be copied to the directory /extensions/plugin of your Sonar installation. The server must be restarted..

Then, copy the JAR to the SONARQUBE_HOME/extensions/plugins directory and restart your SonarQube server.

Next step is: coding a plugin.

Working on SonarQube Eclipse Plugin in Eclipse


  1. Java at least 1.6
  2. Maven at least 3.0.4



  1. clone
  2. run an initial Maven build from the command line: mvn clean install
  3. import everything into Eclipse as a Maven project (the Tycho connector should be installed automatically)
  4. in Eclipse preferences, configure a new variable in Run/Debug > String substitution: M2_REPO = /path/to/your/local/m2/repo
  5. open and activate one of the following target platforms:
    1. If you want to work with Kepler: target-platform-e43/
    2. If you want to work with Juno: target-platform-e42/
  6. you may have to use quick fix to ignore some m2e Lifecycle execution not covered errors
At this point everything should be green in Eclipse, and you should be able to run/debug SonarQube Eclipse plugin. 

If you're working in Linux, consider using Kepler. We find it to be more stable than Juno on Linux.