gradle Plugin [id:'org.springframework. boot',version:“2.1.7.RELEASE”]未在以下任何源中找到

pvcm50d1  于 2023-10-19  发布在  Spring
关注(0)|答案(4)|浏览(187)

我最近开始使用Gradle,并试图在我的Mac机器上用Gradle运行一个Sping Boot 应用程序。
当我尝试进行本地构建时,我得到以下错误:

我的build.gradle是默认的,它从spring initializr下载,几乎没有依赖关系。

plugins {
id 'org.springframework.boot' version '2.1.7.RELEASE'
id 'io.spring.dependency-management' version '1.0.7.RELEASE'
id 'java'
}

group = 'com.ank'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
 maven {
    url "https://plugins.gradle.org/m2/"
 }
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-webflux'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'io.projectreactor:reactor-test'
}

我的JAVA_HOME地址是:/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home
我试过在Intellij,Eclipse和终端中通过gradle --stacktrace构建相同的内容。它到处都失败,并出现相同的错误。
我的Gradle版本是5.6。

ev7lccsx

ev7lccsx1#

它在gradlePluginPortal()mavenCentral()上可用;两个库都提供了它。当前版本是2.7.1,而不是2.1.7.RELEASE或某个虚构的不存在的版本2.7.2
正如我们所看到的,2.1.7.RELEASE有依赖性的漏洞,所以最好使用2.7.1
确保buildscript块或settings.gradle已定义repositories插件。
我的意思是,这一个项目repositories块(带有插件存储库),实际上是无用的。
准确地说,必须在buildscript块中定义插件repositories

buildscript {
    // Gradle plugin repositories
    repositories {
        gradlePluginPortal()
        mavenCentral()
    }
    // Gradle plugin dependencies
    dependencies {}
}

或者在文件settings.gradle中:

import org.gradle.api.initialization.resolve.RepositoriesMode

// Gradle plugin repositories
pluginManagement {
    repositories {
        gradlePluginPortal()
        mavenCentral()
    }
}

// Java project repositories
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
    repositories {
        mavenCentral()
    }
}

只有这样,模块中的plugins块才会知道这些repositories

// Gradle plugin dependencies
plugins {
    id 'org.springframework.boot' version '2.7.1'
    id 'io.spring.dependency-management' version '1.0.12.RELEASE'
    id 'java'
}

// Java project repositories
// not required when using settings.gradle
repositories {
    mavenCentral()
}

// Java project dependencies
dependencies {}

另请参阅Sping Boot Gradle插件参考指南。

f2uvfpb9

f2uvfpb92#

尝试在build.gradle中设置:

plugins {
  id 'org.springframework.boot' version '2.7.2'
  id 'io.spring.dependency-management' version '1.0.12.RELEASE'
  id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
  mavenCentral()
}

dependencies {
  implementation 'org.springframework.boot:spring-boot-starter-web'
  implementation 'org.springframework.boot:spring-boot-starter-webflux'
  testImplementation 'org.springframework.boot:spring-boot-starter-test'
  testImplementation 'io.projectreactor:reactor-test'
}

tasks.named('test') {
  useJUnitPlatform()
}

SpringBoot配置错误可以通过检查生成的文件-> here轻松解决

zysjyyx4

zysjyyx43#

我有这个问题。我在intellij中解决了这个问题,禁用了gradle在线模式。

bxjv4tth

bxjv4tth4#

添加以下存储库。org.springframework.boot:org.springframework.boot.gradle.plugin在maven central中不可用:

repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }

相关问题