2016-03-23 7 views
0

Ich bin neu in Maven. Ich habe online gesucht und weiß, wie man ein Projekt (nennen Sie es A) als Abhängigkeit von einem anderen Projekt (nennen Sie es X). Dies geschieht durch Hinzufügen eines Abhängigkeitsblocks in der pom.xml-Datei von X.was passiert, wenn ein anderes Projekt als Abhängigkeit in maven platziert wird pom.xml

Meine Frage ist, was wirklich hinter der Szene hier passiert? Von meinem begrenzten Wissen weiß ich normalerweise, indem es eine Abhängigkeit in pom.xml setzt, es wird automatisch ein Glas für Maven-Projekt installieren. Ich auch, dass alle Abhängigkeiten von A in diesem Fall von X geerbt werden.

Ich rate A wird als ein Glas in X auch installiert werden? Gibt es einen Unterschied zwischen der Abhängigkeit von einer Bibliothek oder meinem eigenen Projekt, das remote oder lokal ist?

Antwort

0

Nicht genau, was Sie meinen, aber ich gebe eine Chance.

Was passiert ist die Abhängigkeit (A in Ihrem Fall) und seine transitiven Abhängigkeiten werden automatisch heruntergeladen und in Ihrem lokalen Repository installiert. Es wird nichts für das Projekt X tun, es sei denn, Sie sagen es zu. Es wird sicherlich nicht etwas tun, um A andere als die Installation zu projizieren, ist es völlig ahnungslos, dass Projekt X es verwendet.

Wenn Sie Maven wollen Projekt installieren X in Ihrem lokalen Repository müssen Sie es install und ihre Abhängigkeiten implizit in den Prozess eingebaut werden. Maven wird kein Artefakt installieren innerhalb ein anderes (nicht sicher, was Sie damit meinen).

Um es anders auszudrücken: Es gibt nur Artefakte. Diese Artefakte haben Koordinaten (groupId, artifactId und version), um sie entweder im lokalen Repository oder remote zu finden. Maven kümmert sich darum, diese Artefakte (und ihre Abhängigkeiten) für Sie aufzulösen.

+0

das habe ich eigentlich gefragt. In meiner Beschreibung ist A tatsächlich die Abhängigkeit von X. Aber ich habe Ihren Standpunkt verstanden. – Acton

+0

Ah, ok. Entschuldigung für die Verwirrung. Ich werde meine Antwort in Kürze bearbeiten, um Ihre Frage besser zu reflektieren. – Daniel

+0

noch wäre es hilfreich, wenn Sie Ihre Antwort ändern, um A die Abhängigkeit zu sein. – Acton