[maven] Difference between maven scope compile and provided for JAR packaging

If you're planning to generate a single JAR file with all of its dependencies (the typical xxxx-all.jar), then provided scope matters, because the classes inside this scope won't be package in the resulting JAR.

See maven-assembly-plugin for more information