| +- :jersey-entity-filtering:jar:2.23.2:compile +- :jersey-media-json-jackson:jar:2.23.2:compile | | \- javax.validation:validation-api:jar:1.1.0.Final:compile | | | \- org.javassist:javassist:jar:3.20.0-GA:compile | | +- .repackaged:jersey-guava:jar:2.23.2:compile | | +- javax.annotation:javax.annotation-api:jar:1.2:compile +- :jersey-container-servlet-core:jar:2.23.2:compile The below is the maven dependency:tree of my project. For the simplicity I do not have any exclusions in my project. The below are the dependencies of my pom. This will exclude the version of the jackson-annotations library that jackson-databind uses, which is not a problem as long as the version that remains is backwards compatible with the version that you excluded. However, when a dependency is included twice as a transitive dependency, you need to eliminate the version that you don't want to use: You want your dependency graph to be a tree as much as possible. I think the best way to do this is not to reference dependencies in your project if they are already transitive dependencies through other dependencies. In general, you want to avoid conflicting versions, because then it is up to Maven to decide which version to use, which is not always what you want.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |