Dieses Problem scheint mir ein echtes Rätsel zu sein. Wir arbeiten an einer Spring REST App. In meinem Team haben wir Jenkins einen Build auf allen Checkins (CI Build). Außerdem gibt es einen offiziellen Build, der sonst jeden Abend gemacht wird. Einige Integrationstests haben vor kurzem während des CI-Builds einen Fehler verursacht, und wir haben die Ursache auf Jar-Konflikte zurückgeführt. Wir haben jedoch die transitiven Abhängigkeiten, die diese Konflikte früher verursacht haben, erfolgreich ausgeschlossen, und für den offiziellen Build und für einige Entwickler im Team gilt das immer noch. Für andere ist es nicht mehr.Gleiche Gradle-Dateien, gleiche Code-Basis, verschiedene Abhängigkeitsgraphen für verschiedene Entwickler
Wir haben die gleiche Code-Basis und die gleichen Gradle-Dateien. Wenn ich die Abhängigkeitsaufgabe auf meinem System ausführe, habe ich einen langen Baum von transitiven Abhängigkeiten in einem Teilprojekt (wie die Jenkins-Maschine), während andere keinen solchen Baum haben. Außerdem ist die Größe des WAR für einige Entwickler um einige Größenordnungen größer als für andere. Die transitiven Abhängigkeiten stammen von einem anderen verwandten Projekt, das auf Nexus hochgeladen wurde.
Ich habe Abhängigkeiten sowohl auf meiner Maschine und der Jenkins-Maschine aktualisiert, und sogar gelöscht .gradle, aber ohne Erfolg.
Es klingt wie etwas Umwelt, aber die Gradle-Versionen und Java-Versionen sind alle in etwa gleich, höchstens ein paar Nebenversionen.
Irgendwelche Ideen darüber, was diese Diskrepanz verursachen könnte?