2016-09-13 2 views
10

Was ist der Unterschied zwischen "compile group" und "compile"? Nur eine andere Möglichkeit, eine Abhängigkeit zu definieren?build.gradle: kompilieren Gruppe vs Kompilieren, Buildscript, Klassenpfad

Ex:

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

Und ich denke, das wird auch funktionieren:

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

Warum habe ich die declare mavenCentral() wieder und weitere Abhängigkeiten Block innerhalb des buildscript Block?

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

Aus meiner Sicht, wenn Sie etwas kompilieren, wird es in Ihrem Klassenpfad sein?

+0

Die beiden Versionen von 'compile' bauen werden synonym und verhalten sich genau das Gleiche. Der 'Abhängigkeiten'-Block sollte * nicht * im' Buildscript'-Block sein. – Whymarrh

+0

Im Block 'Buildscript' geben Sie die Abhängigkeiten für das Skript zum Erstellen von Graden selbst an (Sie werden beim Kompilieren der Datei build.gradle verwendet). Es ist nützlich, wenn Sie eine Bibliothek zum Erstellen benötigen, aber die Anwendung benötigt sie nicht. Beispielsweise möchten Sie möglicherweise eine ssh-Bibliothek zum Erstellen verwenden, aber Ihre Anwendung benötigt sie nicht. – Aarjav

Antwort

8

compile Gibt eine externe Abhängigkeit für das Projekt an, das Sie erstellen. compile erfordert Gruppe, Name und Version. Diese können entweder ausgebrochen oder mit der Kurzform "Gruppe: Name: Version" angegeben werden. siehe Grade Dependency Management Basics

Der buildscript Block erklärt die Abhängigkeiten Ihrer gradle selbst bauen, während die normalen Abhängigkeiten blockieren die Abhängigkeiten des Projekts erklärt Ihnen

Verwandte Themen