Ich habe die unten ProjektstrukturWie teilen Sie Projektabhängigkeiten zwischen mehreren Projekten in Maven?
Main Project
--Sub Project 1
- child 1
* pom-child1
- child 2
* pom-child2
* pom-sub-project1
--Sub Project 2
* pom-sub-project2
* main project pom
Ich hatte definiert wenige Projektabhängigkeiten in Haupt pom Projekt und bezeichnen es in der Kinder- und Unter Projekt Poms. Aber ich finde Probleme, wenn der Pom kein direktes Kind des Hauptprojekts pom ist. Gibt es einen Weg, es zu lösen?
Beispiel, Hauptprojekt pom
<packaging>pom</packaging>
<version>dev</version>
<name>parent-project</name>
..
<properties><spring-version>3.1.0.RELEASE</spring-version></properties>
Kind POM
<parent>
<groupId>com.test.pkg</groupId>
<artifactId>test-proj</artifactId>
<version>${project.version}</version>
</parent>
Die $ {project.version} wird nicht aufgelöst, wenn es kein direktes Kind eines Elternteils pom ist aufgrund welche keine der Projektabhängigkeiten aufgelöst sind.
Auch ich lese über Eigenschaften-Maven-Plugin, die zum Lesen von Eigenschaften aus externen Eigenschaften Datei verwendet wird. Kann dies zum Lesen der Abhängigkeitsversion verwendet werden oder gibt es ein anderes Plugin/Ansatz, das in diesem Fall verwendet werden könnte?
ist das Hauptprojekt POM auch als Eltern des Teilprojekts 1 und 2 definiert? Werden Unterprojekte als Eltern von Kinderprojekten definiert? Um welche Art von Problem handelt es sich? –
Welche Verbindung funktioniert nicht? Zwischen welchen Projekten? – Christian
@ A.DiMatteo Beispiel: Unter dem Hauptprojekt habe ich verschiedene Web-Projekte (Sub-Projekt 1,2 ..) unabhängig voneinander. Jedes dieser Webprojekte hat Untermodule, die allgemeine Bibliotheken sein können, andere Webprojekte, die miteinander verwandt sind. Jeder von ihnen hat seinen eigenen Pom. Die POM-Datei des Hauptprojekts hat Projektabhängigkeiten und eine Version, auf die nur zugegriffen werden könnte, wenn es ein direktes Sub-Pom ist, während in den zugrundeliegenden Untermodulen die Projektversion oder die Abhängigkeiten während des Builds nicht aufgelöst werden. Weitere Informationen zur Frage hinzufügen – Poppy