Well, if you want it to be semantically correct, remove the <scope>provided</scope> and leave it at the default ( <scope>compile</scope> ). Then set <optional>true</optional> for the dependency, so it will be included in the manifest class path.
Using the provided scope, you really say that you don't want it to be in the explicit class path, since it is still provided by the container.
source share