Why does the Maven command "mvn sonar:sonar" work without any plugin configuration in my "pom.xml"?

The reason is that the Sonar Maven Plugin is hosted at the Codehaus Mojo project and benefits from the groupId "org.codehaus.mojo". This allows to use the shortcut "sonar:sonar" instead of "org.codehaus.mojo:sonar-maven-plugin::sonar" (see the section "Configuring Maven to Search for Plugins" of the Maven documentation)


Sonar has its own set of plugins (e.g. maven-checkstyle-plugin) which it is running when being invoked. These plugins are automatically configured according to your project settings in your configured Sonar server.

The reasoning behind this to have a controlled configuration in your sonar instance.

The reason it is working automatically for you is that you are using the default values for your sonar server installation (localhost:9000).

This 'zero-configuration' approach is further detailed here: We had a dream : mvn sonar:sonar