build.gradle:compile group vs compile,buildscript,classpath

时间:2016-09-13 23:02:34

标签: java gradle

"编译组"有什么区别?和"编译"?另一种定义依赖的方法吗?

例如:

compile group: 'org.slf4j', name: 'slf4j-jcl', version: '1.7.21'

我认为这也会奏效:

compile("org.slf4j:slf4j-jcl:1.7.21")

为什么我再次声明mavenCentral()并且在buildscript块中有另一个依赖块?

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

从我的角度来看,当你编译它时,它会在你的classPath中吗?

1 个答案:

答案 0 :(得分:18)

compile指定您正在构建的项目的外部依赖项。 compile需要组,名称和版本。这些可以使用简短形式" group:name:version" 分解或指定。见Gradle Dependency Management Basics

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