Ich habe ein Root-Projekt, das WAR erstellt, und zwei untergeordnete Projekte, die JARs erstellen. Das Root-Projekt referenziert auf diese Weise das untergeordnete Projekt:
%Vor%Anwendung2 hängt von Anwendung1 ab:
%Vor%Die WAR-Datei enthält zwei Versionen von application1.jar: eine aus dem Repository, eine andere aus dem Repository.
EDIT: Application2 muss von application1 als JAR abhängig sein, da dies das Debugging in Eclipse mit eingebettetem Jetty vereinfacht: Eclipse fügt application1.jar automatisch dem Klassenpfad der Jetty-Server-Startkonfiguration hinzu.
Sie haben die Abhängigkeit für application1
project für das Root-Projekt und für application2
anders angegeben.
Für Ihr application2
wurde es als Abhängigkeit von einer Bibliothek in einem Repository erstellt, aber Ihr Stammprojekt hängt davon ab wie bei einem Unterprojekt. Gradle kann nicht feststellen, dass eine Bibliothek im Repo die gleiche ist wie das Artefakt eines Unterprojekts.
Wenn Sie nicht wollen, dass zwei Versionen der gleichen Bibliothek erstellt werden, müssen Sie sie von derselben Bibliothek abhängig machen: entweder als
%Vor%oder als
%Vor%Wie auch immer, es scheint vorzuziehen, es in beiden Fällen von demselben Teilprojekt abhängig zu machen, anstatt von einem Projekt und von der Bibliothek im Repo.