Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot resolve external dependency org.springframework.boot:spring-boot-starter: because no repositories are defined

I have a multibuild project and I am currently just setting it up. Each module naturally each has a gradle.build file that only contains the following:

dependencies {

}

In the main build.gradle file I have want is needed for every module. However when I do a gradle build I get a error saying:

Cannot resolve external dependency org.springframework.boot:spring-boot-starter: because no repositories are defined. Required by: project :

apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'io.spring.dependency-management'

version = '0.0.1-SNAPSHOT'
    sourceCompatibility = 1.8

buildscript {
    ext {
        springBootVersion = '2.0.0.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {

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

sourceSets.all { ext.purpose = null }

// Everything in subprojects are applied to all modules
subprojects {

    apply plugin: 'java'
    apply plugin: 'maven'
    apply plugin: 'eclipse'
    apply plugin: 'org.springframework.boot'
    apply plugin: 'io.spring.dependency-management'

    version = '0.0.1-SNAPSHOT'


    test {
        useTestNG()
        testLogging.showStandardStreams = true

        beforeTest { descriptor ->
            logger.lifecycle("Running test: " + descriptor)
        }

        // listen to standard out and standard error of the test JVM(s)
        onOutput { descriptor, event ->
            logger.lifecycle("Test: " + descriptor + " produced standard out/err: " + event.message )
        }
    }

    tasks.withType(JavaCompile) {
        options.encoding = 'UTF-8'
    }

    repositories {
        jcenter()
        mavenCentral()
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }

    dependencies {
        compile('org.springframework.boot:spring-boot-starter')
        testCompile('org.springframework.boot:spring-boot-starter-test')
    }

}

dependencies {
    compile('org.springframework.boot:spring-boot-starter')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

Advice

like image 991
Mike3355 Avatar asked Apr 04 '18 12:04

Mike3355


People also ask

What is org Springframework Boot Spring Boot Gradle plugin?

The Spring Boot Gradle Plugin provides Spring Boot support in Gradle. It allows you to package executable jar or war archives, run Spring Boot applications, and use the dependency management provided by spring-boot-dependencies .

What is Gradlew bootRun?

The Spring Boot gradle plugin provides the bootRun task that allows a developer to start the application in a “developer mode” without first building a JAR file and then starting this JAR file. Thus, it's a quick way to test the latest changes you made to the codebase.

Which of the following can be used for dependency management in spring boot?

Working of Dependency Management in Spring-Boot We have to add the dependencies in the pom. xml/build. gradle file. These added dependencies will then get downloaded from Maven Central.


1 Answers

You've defined repositories for subprojects only, but you have to define it in the root project too, because you have a dependencies block there:

dependencies {
    compile('org.springframework.boot:spring-boot-starter')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

In your case you can do it by declaring repositories once more out of the subprojects closure:

repositories {
    jcenter()
    mavenCentral()
    maven {
        url "https://plugins.gradle.org/m2/"
    }
}

subprojects {
   ...
}

Or you can define it for all projects:

allprojects {
    repositories {
        jcenter()
        mavenCentral()
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
}

in that case, you don't need o declare it in subprojects closure

like image 50
Stanislav Avatar answered Oct 07 '22 01:10

Stanislav