Appendix A. What you need to know about Ivy
Modern software development on the JVM makes heavy use of automated dependency resolution and management. This is where instead of downloading jar files and dumping them into your project, a tool is responsible for determining which jar files are needed by your dependencies and automatically resolves these jars for use in your build.
There are two alternative dependency resolution libraries for Java: Aether and Ivy. Aether is extracted from the build tool known as Maven, whereas Ivy was built from scratch. Both tools are able to interoperate with each other to some extent; albeit, there are some fundamentally different concepts to each. sbt makes use of Ivy for some of its advanced features.