Ответ
Для нового микросервиса на Java/Kotlin я бы выбрал Gradle.
Сравнение с Maven:
| Критерий | Gradle | Maven |
|---|---|---|
| DSL (язык) | Kotlin/Groovy (гибкий, программируемый) | XML (декларативный, может быть многословным) |
| Производительность | Инкрементальные сборки, кеширование задач, параллельное выполнение | Сборка с нуля каждый раз, медленнее на больших проектах |
| Кастомизация | Легко писать свои задачи и плагины | Сложнее, требует написания плагинов на Mojo |
| Поддержка | Официальный сборщик для Android, отлично интегрирован с Spring Boot | Стандарт де-факто, огромное сообщество |
Пример build.gradle.kts для Spring Boot 3:
plugins {
java
id("org.springframework.boot") version "3.1.5"
id("io.spring.dependency-management") version "1.1.3"
}
group = "com.example"
version = "0.0.1-SNAPSHOT"
java { sourceCompatibility = JavaVersion.VERSION_17 }
repositories { mavenCentral() }
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
tasks.withType<Test> { useJUnitPlatform() }
Итог: Gradle предлагает лучшую производительность, большую гибкость и современный DSL на Kotlin, что делает его предпочтительным для новых проектов. Maven остается хорошим выбором для простых проектов или в командах с сильной экспертизой в нем.