2016-07-11 12 views
0

Mein build.gradle verweist auf einen lokalen maven pom. Ich habe das Repository mavenLocal() aktiviert und das Jar als Kompilierzeit-Abhängigkeit hinzugefügt (zB my-local-lib, wie unten gezeigt).Gradle mit einer lokalen Pom-Abhängigkeit nimmt falsche Version auf

Gradle nimmt es tatsächlich auf und fügt es als Abhängigkeit hinzu. My-local-lib ist jedoch selbst von einer anderen Bibliothek abhängig, wie in pom.xml angegeben, aber grddle kann die korrekte Version, die in der Datei pom.xml angegeben ist, nicht auswählen und wählt stattdessen eine viel frühere Version. Diese bestimmte Jar-Abhängigkeit ist keine Abhängigkeit von einer anderen Bibliothek.

Ist dies ein bekanntes Problem? Könnte es daran liegen, dass my-local-lib eine SNAPSHOT-Version ist? Gibt es einen Weg, den ich erzwingen kann, um die in den Bibliotheken angegebenen Versionen zu respektieren?

Antwort

1

Versuchen Sie das folgende Stück Code hinzuzufügen:

configurations.all { 
    resolutionStrategy { 
     cacheChangingModulesFor 0, 'seconds' 
    } 
} 

zu build.gradle Skript.

+0

Hinzugefügt den Code, nichts, leider. Ich kann wirklich nicht verstehen, wo es die spezifische falsche Version aufhebt ... Ich habe sogar versucht, alle lokalen Caches der Bibliothek sowohl in Maven als auch in Gradle und Rebuilding zu löschen. – spyk

+0

Vielleicht löschen Sie an der falschen Stelle? Versuchen Sie, den Maven- und den Gradle-Cache zu entfernen. Dann installiere die lib. Dann starte Build. Installiere die lib noch einmal. Führen Sie den Build erneut aus, um die Version zu überprüfen. – Opal

+0

Wieder versucht, aber leider nichts. Die einzige Sache, die funktioniert, ist, wenn ich die Abhängigkeit explizit auf meine build.gradle-Datei hinzufüge. – spyk

Verwandte Themen