Spring boot не может разрешить зависимости spring-boot с помощью gradle kotlin dsl

Файл build.gradle.kts выглядит следующим образом:

buildscript {
    val springBootVersion by extra("2.1.3.RELEASE")

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion")
    }
}

plugins {
    java
    id("org.springframework.boot") version "2.1.3.RELEASE"
}

apply(plugin = "io.spring.dependency-management")

Сообщение об ошибке следующее:

* What went wrong:
Execution failed for task ':compileJava'.
> Could not resolve all dependencies for configuration ':detachedConfiguration1'.
> Cannot resolve external dependency org.springframework.boot:spring-boot-dependencies:2.1.3.RELEASE because no repositories are defined.
 Required by:
     project :

Версия Gradle:

$ ./gradlew --version

------------------------------------------------------------
Gradle 5.2.1
------------------------------------------------------------

Build time:   2019-02-08 19:00:10 UTC
Revision:     f02764e074c32ee8851a4e1877dd1fea8ffb7183

Kotlin DSL:   1.1.3
Kotlin:       1.3.20
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM:          1.8.0_131 (Oracle Corporation 25.131-b11)
OS:           Linux 4.18.7-100.fc27.x86_64 amd64

Groovy dsl работает нормально. Любая помощь будет оценена.


person marcovmx07    schedule 07.03.2019    source источник


Ответы (2)


Удалите бесполезный раздел buildscript и укажите репозитории внутри сборки:

plugins {
    java
    id("org.springframework.boot") version "2.1.3.RELEASE"
}

apply(plugin = "io.spring.dependency-management")

repositories {
    mavenCentral()
}
person JB Nizet    schedule 07.03.2019
comment
Спасибо, это работает отлично! Почему они настаивают на использовании раздела bulidScript в документации? - person marcovmx07; 07.03.2019
comment
Где они это делают? Я не вижу здесь скрипта сборки: docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/ - person JB Nizet; 07.03.2019

Мне пришлось добавить mavenCentral в раздел allProjects:

allprojects {
    repositories {
        mavenCentral()
    }
}

Это сообщение о buildscript и allprojects может помочь уточнить.

person marcovmx07    schedule 07.03.2019