There could be two problems. SonarQube requires the build and the sonar run to be two separate maven calls. See sonar (very bottom of the page).
Our setup was as follows:
mvn install -Dmaven.test.skip=true
mvn sonar:sonar
This resulted still in no code coverage, exactly like your reported problem. This was caused by the option "-Dmaven.test.skip=true". This resulted in the test code not being compiled and therefore not run during the sonar run, see maven.
Our code coverage was back again after changing this to:
mvn install -DskipTests
mvn sonar:sonar