Java build.gradle:编译组vs编译、构建脚本、类路径

Java build.gradle:编译组vs编译、构建脚本、类路径,java,gradle,Java,Gradle,“编译组”和“编译”之间有什么区别?只是定义依赖关系的另一种方法 例: 我认为这也会起作用: compile("org.slf4j:slf4j-jcl:1.7.21") 为什么要在buildscript块中再次使用declaremavenCentral()和另一个dependencies块 buildscript { repositories { mavenCentral() } dependencies { classpath("org

“编译组”和“编译”之间有什么区别?只是定义依赖关系的另一种方法

例:

我认为这也会起作用:

compile("org.slf4j:slf4j-jcl:1.7.21")
为什么要在buildscript块中再次使用declare
mavenCentral()
和另一个dependencies块

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.0.RELEASE")
    }
}

在我看来,当您编译某个东西时,它将位于类路径中。

compile
为您正在构建的项目指定一个外部依赖项<代码>编译需要组、名称和版本。可以将其分解或使用缩写形式“group:name:version”指定。看


buildscript
块声明gradle构建本身的依赖项,而普通依赖项块声明要构建的项目的依赖项

编译的两个版本是同义的,行为完全相同。
dependencies
块不需要位于
buildscript
块中。在
buildscript
块中,您正在为gradle生成脚本本身指定依赖项(编译build.gradle文件时使用它们)。当您需要用于构建的库,但应用程序不需要它时,它非常有用。例如,您可能希望使用ssh库进行构建,但您的应用程序不需要它。
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.0.RELEASE")
    }
}