My project includes a jar file because it is listed as a transitive dependency.
However, I have verified not only that I don\'t need it but it causes problems becaus
The correct way is to use the exclusions mechanism, however sometimes you may prefer to use the following hack instead to avoid adding a large number of exclusions when lots of artifacts have the same transitive dependency which you wish to ignore. Rather than specifying an exclusion, you define an additional dependency with a scope of "provided". This tells Maven that you will manually take care of providing this artifact at runtime and so it will not be packaged. For instance:
org.springframework
spring
2.5.6
commons-logging
commons-logging
1.1.1
provided
Side effect: you must specify a version of the artifact-to-be-ignored, and its POM will be retrieved at build-time; this is not the case with regular exclusions. This might be a problem for you if you run your private Maven repository behind a firewall.