Сбой зависимости при настройке многомодульного проекта на основе kotlin
У меня есть многомодульная настройка проекта gradle на основе скрипта gradle kotlin. Кажется, я испортил управление зависимостями проекта, но не смог найти проблему. Всякий раз, когда я добавляю новую зависимость и запускаю gradle build
Сама сборка завершается успешно, но не может добавить зависимость к проекту. Чтобы проанализировать проблему, я побежал gradle dependencies
и там я вижу, что он не может получить зависимости, как показано здесь:
> Task :dependencies
------------------------------------------------------------
Root project
------------------------------------------------------------
archives - Configuration for archive artifacts.
\--- project :nanoservices-web-api
+--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.2.21
| +--- org.jetbrains.kotlin:kotlin-stdlib:1.2.21
| | \--- org.jetbrains:annotations:13.0
| \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.21
| \--- org.jetbrains.kotlin:kotlin-stdlib:1.2.21 (*)
+--- org.jetbrains.kotlin:kotlin-reflect:1.2.21
| \--- org.jetbrains.kotlin:kotlin-stdlib:1.2.21 (*)
+--- org.springframework.boot:spring-boot-starter-web: FAILED
+--- org.springframework.boot:spring-boot-starter-actuator: FAILED
+--- org.springframework.boot:spring-boot-starter-data-jpa: FAILED
+--- org.springframework.boot:spring-boot-starter-cache: FAILED
+--- javax.cache:cache-api: FAILED
+--- com.h2database:h2: FAILED
\--- com.fasterxml.jackson.module:jackson-module-kotlin: FAILED
default - Configuration for default artifacts.
No dependencies
Версия Gradle, которую я использую, - это 5.4.1. Может кто-нибудь определить ошибку, которую я сделал?
Ниже вы можете найти файлы сборки. Это файл build.gradle.kts верхнего уровня:
allprojects {
group = "localhost.playground"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
}
plugins {
base
}
dependencies {
// Make the root project archives configuration depend on every subproject
subprojects.forEach {
archives(it)
}
}
Следующее является в настоящее время единственным подпроектом.
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
buildscript {
extra["kotlinVersion"] = "1.2.21"
extra["springBootVersion"] = "1.5.10.RELEASE"
val springBootVersion: String by extra
val kotlinVersion: String by extra
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion")
classpath("org.junit.platform:junit-platform-gradle-plugin:1.1.0")
}
}
val kotlinVersion: String by extra
val springBootVersion: String by extra
plugins {
val kotlinVersion = "1.2.21"
id("org.jetbrains.kotlin.jvm") version kotlinVersion
id("org.jetbrains.kotlin.plugin.spring") version kotlinVersion
id("org.jetbrains.kotlin.plugin.jpa") version kotlinVersion
id("io.spring.dependency-management") version "1.0.4.RELEASE"
}
apply {
plugin("org.springframework.boot")
plugin("org.junit.platform.gradle.plugin")
}
tasks.withType<KotlinCompile> {
kotlinOptions {
jvmTarget = "1.8"
freeCompilerArgs = listOf("-Xjsr305=strict")
}
}
dependencies {
compile("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion")
compile("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion")
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-actuator")
compile("org.springframework.boot:spring-boot-starter-data-jpa")
compile("org.springframework.boot:spring-boot-starter-cache")
compile("javax.cache:cache-api")
compile("com.h2database:h2")
compile("com.fasterxml.jackson.module:jackson-module-kotlin")
testCompile("org.springframework.boot:spring-boot-starter-test") {
exclude(module = "junit")
}
testCompile("org.junit.jupiter:junit-jupiter-api:5.1.0")
testRuntime("org.junit.jupiter:junit-jupiter-engine:5.1.0")
}