Ich habe die in einem flachen strukturiert organisiert folgende Projekte:Maven Multi-Modul-Projekt und Jenkins
parentProject
+-pom.xml
projectWeb <depends on libraryA and libraryB>
+-pom.xml
libraryA
+-pom.xml
libraryB
+-pom.xml
Die pom.xml innerhalb des parentProject hat Verweise auf die anderen Module und seine verwendet für die Vererbung und dependencyManagement, hier ist ein Ausschnitt:
<project>
....
<modules>
<module>../projectWeb</module>
<module>../libraryA</module>
<module>../libraryB</module>
</modules>
<dependencyManagement>
...
</dependencyManagement>
<build>
...
</build>
....
</project>
In Jenkins ich einen maven-Job für jedes Projekt, und es funktioniert gut, wenn ich die parentProject bauen, das heißt. Erstellt jedes Projekt, auf das im Abschnitt modules
verwiesen wird. Das Problem, das ich habe, wenn ich eine SVN Änderung in libraryA
begehe, würde ich erwarten, dass nach dem Erstellen von libraryA, eine Wiederherstellung auf projectWeb
gestartet werden, aber das ist nicht geschehen. Wer weiß, was mache ich falsch?
Vielen Dank im Voraus.
EDIT
Wenn ich den modules
Abschnitt von parentProject\pom.xml
entfernen, funktioniert es als espected, aber ich verliere die Aggregation Vorteil der Verwendung eine Mutter pom hat.
Danke für die Antwort, aber wie ich die bearbeitete Frage einfüge, Wenn ich die Module aus dem Elternpom entferne, werden die Builds wie erwartet ausgelöst, dh wenn ich 'libraryA' baue, wird' proyectWeb' automatisch aufgebaut, ohne die Konfiguration du erwähntest. – sivainvi