2012-04-11 5 views
0

Ich habe derzeit einen Elternteil Pom, der zwei Module erklärt: ein Ohr und ein Krieg. Das Ohr ist abhängig vom Krieg (und erklärt eine Abhängigkeit dafür mit Gruppen-/Artefakt-ID und Verpackungstyp).Maven Verpackung Ohr finden Abhängigkeit von Projekt-Ebene, aber nicht von Eltern

Beim Verpacken von der Eltern-Pom-Ebene nimmt der Reaktor beide Artefakte auf und verpackt den Krieg richtig in das Ohr, wie Sie es erwarten würden. Beim Packen aus dem Pom des Ohrs (trotz der Tatsache, dass die Elemente in beiden Projekten auf den Eltern-Pom verweisen), findet das Ohr das Kriegsartefakt nicht.

Ich weiß, dass Maven beim Packen auf Ohrebene den richtigen Weg zum Elternteil findet, aber iteriert es dann nicht zu den verschiedenen Modulen, die der Elternteil enthält, um Artefakte aufzunehmen?

Thanks :)

Antwort

0

So funktioniert Maven. Es ist in Ordnung. Wenn Abhängigkeiten aufgelöst werden, sucht Maven im Reaktor, dann im lokalen Repository und dann im Remote-Repository nach ihnen. Wenn also ein Build von einer übergeordneten Projektebene erstellt wird, befinden sich beide Projekte im Reaktor, sodass EAR WAR problemlos auswählen kann. (Um genau zu sein, liegt es nicht an der Eltern-Kind-Beziehung, sondern daran, dass es sich um Module handelt.) Wenn Sie jedoch ein EAR-Modul isoliert erstellen, kann der Reaktor weder WAR noch lokales Repo sowie Remote-Repos bereitstellen. Wenn Sie das WAR-Modul unter mvn install im lokalen Repo installieren und dann versuchen, EAR zu erstellen, wird das WAR-Artefakt mit lokalem Repo gefunden.

0

Klingt parenting Struktur gebrochen ist, wenn die EAR auf dem WAR hängt dann sollte es ein Kind-Modul sein.

+0

Das war meine ursprüngliche Absicht, aber in diesem Fall, wäre der POM auf der EAR-Ebene nicht sowohl ein Modulaggregator als auch ein Verpacker? Ich dachte, dass das in Maven nicht möglich ist (dh Sie können entweder Module haben und Verpackungsart POM haben, oder Sie verpacken als EAR und haben keine Module). So wie es aussieht, habe ich WAR und EAR Seite an Seite, so dass die EAR den WAR einzieht. Könnten Sie eine bessere Lösung empfehlen? – Rhys

Verwandte Themen