Problem scenario
You run sonar-scanner, but it fails with an error such as this: "No quality profiles have been found, you probably don't have any language plugin installed."
You run sonar-scanner with the "-X" and see a Java stack trace like this: "Error during SonarQube Scanner execution java.lang.IllegalStateException: Unable to load component class org.sonar.scanner.report.MetadataPublisher"
You log into the SonarQube web UI. You go to "Quality Profiles" but you see no profiles and no button or option to create one.
How do you get sonar-scanner to work?
Solution
1. Go to the server with the sonar-scanner.
2. Find the main sonar directory. One command that should help is this: sudo find / -name sonar -type d
In this directory there should be a directory path such as this: extensions/plugins
3. Go to …/sonar/extensions/plugins/ and place one or more language .jar files so that SonarQube can analyze code of that language. The free Community Edition of SonarQube cannot support certain languages as there are no .jar files for certain languages. But it can support many common, popular, modern languages. To obtain the .jar file for a given language (that is a plugin for SonarQube to have a Quality Profile), go here. You can copy the .jar file to the SonarQube server.