2016-06-13 17 views
8

ausgeschlossen werden Ich versuche, einige Module aus meiner Build.Gradle-Datei auszuschließen, aber es (Code1 und Code2) lädt immer noch die ausgeschlossenen Dateien.Modul kann nicht aus build.gradle

Code 1:

compile (group: 'com.amazonaws', name: 'aws-java-sdk', version: '1.11.7') { 
    exclude group: 'com.amazonaws', module: 'aws-java-sdk-machinelearning' 
} 

Code 2:

compile (group: 'com.amazonaws', name: 'aws-java-sdk', version: '1.11.7') { 
     exclude module: 'aws-java-sdk-machinelearning' 
    } 

als ich versuchte, den folgenden Code verwenden,

configurations { 
compile.exclude module: 'aws-java-sdk-machinelearning' 
} 

es schließt die Dateien aber ich don Ich möchte diese Methode nicht verwenden Dateien ausschließen

+0

Welcher Version von gradle in aws-java-sdk-machinelearning bringen könnte spielt Du? Es funktioniert gut mit Gradle v. 2.8. – Opal

+0

Ich benutze Gradle 2.13 – r123

+0

Es funktioniert auch mit Gradel 2.13. Hier haben Sie das Skript: http://pastie.org/10874593 – Opal

Antwort

2

Ich zweite/bestätigen mit @Opal, dass Code1 in Gradle 2.13 funktioniert.

Was wahrscheinlich passiert, ist, dass Sie eine andere (vielleicht nicht-aws) Abhängigkeit haben, die transitiv aws-java-sdk verwenden kann, was dann die Machine-Learning-Abhängigkeit einbringt. Aus diesem Grund funktioniert es gut, wenn Sie einen globalen Ausschluss vornehmen, aber nicht, wenn Sie einen lokalen Ausschluss nur unter aws-java-sdk ausführen.

Versuchen gradlew dependencies --configuration=compile laufen einen Baum von Abhängigkeiten zu bekommen, einschließlich transitiven, zu prüfen, welche Abhängigkeiten