Я использую Gradle
для создания своего spring-boot
приложения. Чего я хочу?
У меня есть многомодульное приложение, в котором некоторые модули являются spring-boot
приложениями. Я хочу получить BOM
пружинных зависимостей в файле Gradle родительского проекта и использовать все библиотеки без версий.
Теперь у меня следующие конфиги:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
И я дублирую этот код в каждом модуле. Я прочитал Gradle
документацию и увидел следующее:
Сам плагин больше не применяет плагин Spring Dependency Management автоматически. Вместо этого он реагирует на применение и настройку плагина Spring Dependency Management с использованием спецификации spring-boot-dependencies (список материалов. Мы более подробно рассмотрим поддержку спецификации позже в этом посте).
И вот пример ниже:
plugins {
id 'java'
id 'com.gradle.build-scan' version '1.16'
id 'org.springframework.boot' version '2.0.5.RELEASE'
}
dependencies {
implementation 'org.springframework.boot:spring-boot-dependencies:2.0.5.RELEASE'
...
Я смущен. Какой вариант лучше? Я пытаюсь изменить свой код, как в этой документации, и получаю сообщение об ошибке:
> Could not resolve all files for configuration ':my-server:compileClasspath'.
> Could not find org.springframework.boot:spring-boot-starter-data-jpa:.
Required by:
project :my-server
> Could not find org.springframework.boot:spring-boot-starter-cache:.
Required by:
project :my-server
> Could not find org.springframework.boot:spring-boot-configuration-processor:.
Required by:
project :my-server
> Could not find org.hibernate:hibernate-jpamodelgen:.
Required by:
project :my-server
> Could not find org.projectlombok:lombok:.
Required by:
project :my-server
> Could not find org.springframework.kafka:spring-kafka:.
Required by:
project :my-server