Зависимость Java-библиотеки от другой библиотеки, компиляция и дистрибуция
Добрый день.
Пишу небольшую open source-библиотеку на Java, для сборки использую Ant. Встал такого плана вопрос про компиляцию и дистрибуцию.
Моя библиотека зависит от другой библиотеки (html-парсера jsoup), которая требуется при компиляции. Есть такие варианты:
1. Положить jar-файл jsoup в мой репозиторий.
Минусы: лишний бинарник в репозитории.
2. Рассчитывать, что у пользователя при компиляции присутствует jsoup конкретной версии.
Минусы: может и не присутствовать.
А также как в данном случае отразить это в build.xml?
Хотел узнать, какова стандартная практика.
Также интересно, как в этом случае распространять скомпилированную сборку своей библиотеки — тащить jsoup с собой или рассчитывать, что он есть у пользователя?
Все рекомендуют Maven. Как я понял, он будет докачивать из интернета необходимые зависимости, если не найдет их на локальной машине. Он нормально дружит с линуксовыми репозиториями или могут быть проблемы?
Если сильно хочется ant, но нужны зависимости, можно посмотреть в сторону maven.apache.org/ant-tasks/index.html
Тогда даже при сборке ant-ом, библиотеки можно скачивать в процессе компиляции.
Я понимаю. Я вот про что. Представим мне нужна библиотека A версии x.y.z. Она уже установлена, допустим, с помощью apt. Как себя в этом случае поведет Maven?