sonar.java.binaries should point to the compiled
.class files of your main source code. If you want to also provide the compiled classes of your test code (which is a good thing to do) then you’ll use the
sonar.java.test.binaries (docs here. Fixing that should handle the warning about classes needed for analysis.
Your second issue is completely separate, and in fact, we don’t handle that data any more.
For your final question about how the JaCoCo report is used, the answer is 1 and some 2. Specifically, for files that are omitted from the coverage report, analysis calculates how many executable (and therefore coverable) lines are in the file, and adds that to the denominator when overall coverage percentage is calculated. This is why you may be seeing different overall coverage reported by SonarQube vs JaCoCo.
P.S. For additional questions, please open new threads.