Search code examples
mavenbuild-processivydependency-management

Does Ivy dependency resolver same as Maven dependency resolver?


I read official manuals about dependency resolution in Maven and Ivy:

but can't find any difference from docs (mostly because I have no experience with Ivy).

Does Ivy dependency resolver same as Maven dependency resolver?


Solution

  • There are some features of Ivy that make it different from Maven:

    • One Ivy module can contain several artifacts. So, in simple case, dependency on Ivy module means dependency on all jars it contains.
    • Ivy allows to declare dependency as not-transitive.
    • Ivy has so-called "configurations" (generic version of Maven's classifiers). You can specify configuration when you declare dependency, and it will affect which artifacts and transitive dependencies of module you'll depend on. Read more in the tutorial.
    • Ivy's dependency resolution mechanism is customizable. You can plug-in such things as version comparison mechanism, conflict resolution mechanism and so on.