springboot-how to solve Plugin [id: 'org.springframework.boot', version: '2.4.2.RELEASE', apply: false] was not found in any of the following sources
Problem
When we run a spring boot application with gradle, sometimes, this error would occur:
15:46:15: Executing task 'bootRun'...
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/bswen/private/bw/bswen-github/bswen-springboot23/build.gradle' line: 22
* What went wrong:
Plugin [id: 'org.springframework.boot', version: '2.4.2.RELEASE', apply: false] was not found in any of the following sources:
- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'org.springframework.boot:org.springframework.boot.gradle.plugin:2.4.2.RELEASE')
Searched in the following repositories:
Gradle Central Plugin Repository
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 2s
15:46:18: Task execution finished 'bootRun'.
The core exception is:
Plugin [id: 'org.springframework.boot', version: '2.4.2.RELEASE', apply: false] was not found in any of the following sources:
- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'org.springframework.boot:org.springframework.boot.gradle.plugin:2.4.2.RELEASE')
Searched in the following repositories:
Gradle Central Plugin Repository
But I am sure everything is correctly configured, and the dependencies should be ok.
Environment
- SpringBoot 2.x
- Gradle 6.x
The configurations
Let’s check the project’s build.gradle:
group 'com.bswen.app9'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:2.3.2.RELEASE")
}
}
plugins {
id 'org.springframework.boot' version '2.4.2.RELEASE' apply false
id 'io.spring.dependency-management' version '1.0.11.RELEASE' apply false
id 'java'
}
repositories {
mavenCentral()
maven { url 'https://repo.spring.io/milestone' }
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
}
Solution
We should notice that the plugin org.springframework.boot’s version is 2.4.2.RELEASE, after check, we know that there is no version named 2.4.2.RELEASE, we should use 2.4.2 instead.
Change as follows:
Change from:
plugins {
id 'org.springframework.boot' version '2.4.2.RELEASE' apply false
id 'io.spring.dependency-management' version '1.0.11.RELEASE' apply false
id 'java'
}
To:
plugins {
id 'org.springframework.boot' version '2.4.2' apply false
id 'io.spring.dependency-management' version '1.0.11.RELEASE' apply false
id 'java'
}
Rebuild the project and run it:
It works!
All the example code and config files can be found in this github project.