I am running Jacoco and Sonar in a multi-module Java8 project. I have unit tests in each of the modules and to save resources I collect all the "integration tests" into one "integration test runner" and run them there (wrapping them before and after the tests).
When measuring coverage, UT generates an exec file on the target / jacoco-ut.exec module, while IT generates one exec file: /target/jacoco-it.exec.
When I run the sonar, I reuse these exec files, specifying the path to jacoco-it.exec.
I get a very strange image: 
How can the overall coverage be lower?
source share