Gradle 工件id解析错误

Gradle 工件id解析错误,gradle,build.gradle,gradle-plugin,gradlew,spring-boot-gradle-plugin,Gradle,Build.gradle,Gradle Plugin,Gradlew,Spring Boot Gradle Plugin,我是gradle的新手,当我试图在gradle中添加插件时,我遇到了一个奇怪的问题。我知道我们必须在gradle构建的插件主体中指定if和版本,但我尝试添加一个带有一些id和版本的插件。我的问题是..如果在同一个组id下有多个工件,gradle构建如何知道选择哪个工件id?我知道这可能是一个蹩脚的问题……但我对gradle来说是个新手,我想知道你的想法。你是在尝试应用spring boot插件吗 如果是这样,您尝试应用插件的项目是否具有如下构建脚本块: buildscript { repos

我是gradle的新手,当我试图在gradle中添加插件时,我遇到了一个奇怪的问题。我知道我们必须在gradle构建的插件主体中指定if和版本,但我尝试添加一个带有一些id和版本的插件。我的问题是..如果在同一个组id下有多个工件,gradle构建如何知道选择哪个工件id?我知道这可能是一个蹩脚的问题……但我对gradle来说是个新手,我想知道你的想法。

你是在尝试应用spring boot插件吗

如果是这样,您尝试应用插件的项目是否具有如下构建脚本块:

buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "org.springframework.boot:spring-boot-gradle-plugin:2.0.4.RELEASE"
  }
}

apply plugin: "org.springframework.boot"
或插件关闭:

plugins {
  id "org.springframework.boot" version "2.0.4.RELEASE"
}
通过buildscript块,Gradle知道在哪里可以找到插件,因为我已经为它指定了一个存储库来查找它。解析依赖路径后,它会找到并下载插件,然后将其放在类路径上,以便在build.gradle文件中使用。然后只需要应用它,即应用插件:


随着插件的关闭,事情变得有点棘手。插件以唯一的id发布,该id将被查找,gradle将解析指定的版本。我对如何实现这一点不太了解,但在这里,描述了buildscript{}apply插件之间的一些差异:。。。还有插件{}。

你的意思是,上面两个插件中的任何一个都应该足够了。我想我已经在代码中添加了这两个。我将通过代码中只有一个来重新测试。正确,任何一个都足够。有关插件{}如何工作的更多信息,请参阅。非常感谢。上述解决方案解决了我面临的问题。请添加一个示例构建或有关您的问题的更多详细信息。