Hi Doug. Welcome to the community!
SonarCloud does not automatically run your tests or compile coverage reports itself. It has to import those reports from a coverage analysis that you set up separately. In your case (a Java project) you would use the Jacoco library and the associated Jacoco maven plugin.
For details, have a look here:
This guide will help you diagnose and resolve issues related to JaCoCo coverage import on SonarQube/SonarCloud. Principles apply to all sorts of coverage reports, though there are few caveats specific to JaCoCo.
Problems you have
Your coverage displays 0%?
It dropped after a SonarQube upgrade?
You had a coverage value on the project Dashboard and suddenly nothing?
Your coverage is really low compared to what is expected?
Figures don’t match between JaCoCo and what’s reported by SonarQube?
…
Importing JaCoCo coverage report in XML format
Version 5.12 of our SonarJava analyzer deprecated uses JaCoCo’s binary format (.exec files) to import coverage. This binary format is internal to the JaCoCo project, and as such there are no guarantees for backward compatibility, so it should not be used for integration purposes.
As a replacement, when you scan a project with Sonar scanner, we use a special Jacoco report analyzer, which imports your JaCoCo’s XML coverage report, and this is the pr…