Ich möchte mein Problem mit Ihnen teilen. Vielleicht hat sich auch jemand diesem Problem gestellt und wird eine Lösung haben. In Kürze Gradle löst häufig wechselnde Abhängigkeiten nicht auf. Wir verwenden:Gradle "ändern" Abhängigkeiten Management
./gradlew -v
------------------------------------------------------------
Gradle 2.12
------------------------------------------------------------
Build time: 2016-03-14 08:32:03 UTC
Build number: none
Revision: b29fbb64ad6b068cb3f05f7e40dc670472129bc0
Groovy: 2.4.4
Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM: 1.8.0_66 (Oracle Corporation 25.66-b17)
OS: Linux 2.6.18-409.el5 amd64
Lassen Sie mich versuchen zu erklären, was passiert ist. Wir haben ein Projekt, das von einem anderen unabhängigen Projekt abhängig ist. Beide sind in aktiver Entwicklung. One ist: String-Parser Version: 1.0.0-SNAPSHOT Zweite ist: Tools-utils Version: 2.2.0-SNAPSHOT Wir internen Maven artifactory haben und wir konfiguriert es in String-Parser:
# some code there
configurations.all {
resolutionStrategy.cacheChangingModulesFor 0, TimeUnit.MILLISECONDS
}
repositories {
mavenLocal()
maven { url 'https://some.internal.com/deploy-snapshot'}
maven { url 'https://some.internal.com/deploy-release'}
}
dependencies {
# Some other dependencies listed here
compile('com.some.group:tools-utils:2.2.0-SNAPSHOT') {
changing = true
}
}
Also, wenn wir Änderungen an lokalen Arbeitsplatz tun (Windows - ich denke, es spielt keine Rolle) für Tools-utils und letzten Snapshot Artefakt Version laden lokale und remote Maven alles in Ordnung ist. Wir gehen zu String-Parser Projekt drücken Sie "Reimport" -Taste (in Intellij Idea 2016.1.2) und Gradle wechseln, um Abhängigkeit Version zu korrigieren. Aber wenn jemand einige Änderungen vornimmt und eine neue Version auf Maven remote hochlädt, aktualisiert es die Abhängigkeit im Cache nicht und zeigt immer noch auf die alte Version. Um es zu beheben, müssen wir das Artefakt manuell aus dem Gradle-Cache und (!) Von Maven Local löschen.
Könnten Sie mir bitte etwas raten, weil Cache manuell zu bereinigen (oder mit Zusatzschritt auf TeamCity) ein Albtraum ist?
in Putting Haben Sie versucht, die 'Ändern = true' zu entfernen? Das Caching sollte bei Ihrer 'resolutionStrategy' deaktiviert werden. – JBirdVegas
Verwenden Sie Gradle über die Befehlszeile? Wenn ja, haben Sie versucht, den Parameter --refresh-dependencies hinzuzufügen? –