В своем вопросе вы описываете межклассовые зависимости. Большинство систем сборки, в частности Maven, нацелены больше на межпроектные зависимости. Я считаю, что большинство систем просто перекомпилируют все классы в проекте, и большинство преимуществ этих систем сборки заключается в создании как можно меньшего количества проектов.
И Maven, и Ivy позволят вам легко указывать как внешние, так и внутренние зависимости вашего проекта, в том числе от версии вашего проекта. Они оба также автоматически загружают внешние библиотеки (такие как Apache Commons) на ваш локальный компьютер как часть процесса сборки, если они еще не кэшированы локально, сохраняя большую часть работы по ручной загрузке и организации сторонних jar-файлов.
Плющ - это расширение муравья, как вы упомянули. Я рекомендую Maven. Это условно-ориентированная система сборки, которую я успешно использовал и чувствую, что она достаточно зрелая. Maven требует гораздо меньших предварительных усилий, чтобы начать использовать, и он вполне расширяемый.