神器ID解决错误

时间:2018-08-21 02:28:04

标签: gradle build.gradle gradle-plugin gradlew spring-boot-gradle-plugin

我是gradle的新手,而我试图在gradle中添加插件时遇到了一个奇怪的问题。我知道我们必须在插件主体中指定一个if和版本,以便进行gradle构建,但是我尝试添加具有某些id和版本的插件。我的问题是..如果同一组ID下有多个工件,gradle构建如何知道要选择哪个工件ID?我知道这可能是一个la脚的问题...但是我刚开始学习,很想知道您的意见。

1 个答案:

答案 0 :(得分:1)

您是否要应用spring-boot-plugin

如果是这样,您要应用该插件的项目是否具有这样的buildscript块:

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文件的类路径中。然后只需应用它,即apply plugin: ...

随着插件的关闭,事情变得有些棘手。插件以唯一的ID发布,将对其进行查找,然后gradle解析指定的版本。我不太了解如何完成此操作,但是这里的new plugin mechanism描述了buildscript {} apply plugin: ...plugins {}之间的一些区别。