Implementation
Provided Scope
Add a provided
scope that makes a dependency essentiall compile
scope, but it is not bundled, not on the execution classpath (eg for surefire) and the dependency is not transitive. It is intended for use in the final "end POM" only.
This addresses "compile only" dependencies, while not losing the benefits of having the scopes tied to each other.
Integration Test Scope
Add a integration-test
scope for the integration test phase plugins, like cactus.
...
Original Discussion
This is the case of servlet API/J2EE, and perhaps some libraries provided by the final JDK but not compiling JDK. It's not that they are compile-only - it's that they may be provided for you at runtime. They are still required at runtime.
...