Maven и Gradle
Коротко: Maven и Gradle — распространённые инструменты сборки для Java: они загружают зависимости, компилируют, тестируют и упаковывают проект.
Подробнее: Maven описывает проект декларативно в pom.xml, Gradle — в скрипте (Groovy или Kotlin), который гибче.
Подробности
- Maven: Фиксированные жизненные циклы (
compile,test,package,install) и стандартная структура папок (src/main/java). Зависимости с координатамигруппа:артефакт:версияиз Maven Central, в том числе транзитивные. - Gradle: Граф задач, инкрементные сборки, кэш сборки и демон обычно делают его быстрее. Стандарт в Android.
- Wrapper:
mvnwиgradlewсами загружают нужную версию инструмента, чтобы все собирали одинаково. - Команды:
mvn clean package,gradle build,gradle test. - Конфликты зависимостей:
mvn dependency:treeиgradle dependenciesпоказывают, откуда взялась версия. - Выбор: Maven ради простоты и единообразия, Gradle для больших или необычных сборок.