2017-02-22 1 views
0

übergeben Ich versuche, eine Abhängigkeit zu allen Teilprojekten in meinem Großprojekt zu verallgemeinern. Die Lektüre dieser Frage: https://discuss.gradle.org/t/inheriting-common-dependencies-from-parent-project-in-child-projects/5493/2 Ich versuchte es aus:compile() Fehler beim Versuch, Abhängigkeiten zu Teilprojekten in gradle.build Datei

subprojects{ 
    dependencies { 
     compile group: 'com.xetra11.toolbox', name: 'toolbox-commons', version: "0.0.1" 
    } 
} 

ich mit dem folgenden Fehler fehlgeschlagen:

1. Error:(60, 0) Could not find method compile() for arguments 
    [{group=com.xetra11.toolbox, name=toolbox-commons, version=0.0.1}] on 
    object of type 
    org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. 
    <a 
    href="openFile:C:\Development\Testzone\toolbox-backend\build.gradle">Open 
    File</a> 

Auch allprojects Verschluss mit nicht gelungen war. Habe ich die Antworten der oben genannten Frage falsch verstanden oder worum geht es hier?

Antwort

1

Das liegt daran, dass Ihre Unterprojekte noch keine Kompilierungskonfiguration haben. Mit anderen Worten, Sie müssen zuerst das Java-Plugin anwenden und dann die Abhängigkeiten deklarieren. Drei Möglichkeiten, wie Sie das erreichen können:

1), um den Code ändern das Plugin von Stammprojekt

subprojects{ 
    apply plugin: 'java' 
    dependencies { 
     compile group: 'com.xetra11.toolbox', name: 'toolbox-commons', version: "0.0.1" 
    } 
} 

2) rufen Sie die Konfiguration nach buildscript Auswertung jedes Projekt anzuwenden erfolgt

subprojects{ 
    afterEvaluate { 
     dependencies { 
      compile group: 'com.xetra11.toolbox', name: 'toolbox-commons', version: "0.0.1" 
     } 
    } 
} 

3) oder, fügen Sie die Konfiguration hinzu, sobald das Java-Plugin in Teilprojekten hinzugefügt wurde

Verwandte Themen