Вот пример проекта Spring Boot здесь , который содержит два модуля.
build.gradle
для одного из модулей выглядит следующим образом:
buildscript {
ext { springBootVersion = '2.1.4.RELEASE' }
repositories { mavenCentral() }
dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") }
}
plugins {
id "io.spring.dependency-management" version "1.0.5.RELEASE"
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
bootJar {
baseName = 'gs-multi-module-application'
version = '0.0.1-SNAPSHOT'
}
sourceCompatibility = 1.8
repositories { mavenCentral() }
dependencies {
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('org.springframework.boot:spring-boot-starter-web')
compile project(':library')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
Другой модуль build.gradle
выглядит так:
buildscript {
repositories { mavenCentral() }
}
plugins { id "io.spring.dependency-management" version "1.0.5.RELEASE" }
ext { springBootVersion = '2.1.4.RELEASE' }
apply plugin: 'java'
apply plugin: 'eclipse'
jar {
baseName = 'gs-multi-module-library'
version = '0.0.1-SNAPSHOT'
}
sourceCompatibility = 1.8
repositories { mavenCentral() }
dependencies {
compile('org.springframework.boot:spring-boot-starter')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
dependencyManagement {
imports { mavenBom("org.springframework.boot:spring-boot-dependencies:${springBootVersion}") }
}
springBootVersion = '2.1.4.RELEASE'
объявлен в обоих модулях. Для двухмодульного проекта это может не быть проблемой, но если в моем проекте было 10 модулей, и я хотел убедиться, что все модули всегда зависят от одной и той же версии Spring Boot, было бы неудобно и подвержено ошибкам повторять эту версию в каждом модуле.
Аналогично, я мог бы захотеть добавить зависимость от commons-io
к обоим этим модулям и убедиться, что они оба всегда зависят от одной и той же версии commons-io
.
Как мне избежать повторения номеров версий в каждом build.gradle
файле?