Gradleスクリプトkotlinに基づいて、マルチモジュールのgradleプロジェクトをセットアップしています。プロジェクトの依存関係管理を台無しにしたようですが、問題を見つけることができません。新しい依存関係を追加してビルドを実行するたびに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")
}