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

yooouuri :

What is the difference between "compile group" and "compile"? Just another way to define a dependency?

Ex:

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

And i think this also will work:

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

Why do i have the declare mavenCentral() again and another dependencies block inside the buildscript block?

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

From my point of view, when you compile something it will be in your classPath?

larsgrefer :

compile specifies an external dependency for the project you are building. compile requires group, name, and version. These can either be broken out or specified using the short form "group:name:version". see Gradle Dependency Management Basics

The buildscript block declares the dependencies of your gradle build itself while the normal dependencies block declares the dependencies of the project you are going to build

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=446026&siteId=1