As per image from Maven's complete reference, when a direct dependencies scope is 'compile' and transitive dependency's scope is 'provided', transitive dependencies are ignored.
My question is, if a direct dependency class extends a class from this transitive dependency compilation of my project will fail, since at compile time 'javac' will look for class extended by direct dependency from transitive dependency and won't find it in compile time classpath, as maven ignored it.
Basically that is the reason why transitive dependency scope is compile instead of run-time when direct dependency is compile, why same rule is not considered when transitive dependency scope is provided?