Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.3.3. Ein aggregiertes Maven Projekt erstellen
3.3.1. Aggregiertes POM
Eine komplette Applikation besteht in der Regel aus mehreren Maven-Projekten. Wird die Anzahl der Projekte jedoch größer, so wird ein separater Build für jedes Projekt mühselig. Außerdem ist es normalerweise notwendig, den Build der Projekte in einer bestimmten Reihenfolge durchzuführen und der Entwickler muss diese berücksichtigen.
Um den Build mehrerer Projekte zu vereinfachen, können Sie optional ein aggregiertes Maven-Projekt erstellen. Dieses besteht aus einer einzelnen POM-Datei (dem aggregierten POM), in der Regel im übergeordneten Verzeichnis der einzelnen Projekte. Die POM-Datei legt fest, welche Unterprojekte (oder Modules) erstellt werden sollen und erstellt diese in der festgelegten Reihenfolge.
3.3.2. Übergeordnete POM
Maven unterstützt auch die Idee eines übergeordneten POM. Ein übergeordnetes POM ermöglicht es Ihnen, eine Beziehung im Vererbungsstil zwischen POMs herzustellen. POM-Dateien unten in der Hierarchie deklarieren, dass sie von einem bestimmten übergeordneten POM erben. Das übergeordnete POM kann dann dazu verwendet werden, um bestimmte Eigenschaften und Details der Konfiguration freizugeben.
Wichtig
Details zur Definition und Verwendung eines POM liegen außerhalb des Rahmens dieses Handbuchs, es ist jedoch wichtig, zwischen einem übergeordneten POM und einem aggregierten POM zu unterscheiden.
3.3.3. Empfohlene Vorgehensweise
Oftmals sieht man Beispiele, bei denen ein POM sowohl als übergeordnetes POM als auch als aggregiertes POM verwendet wird. Dies ist bei kleineren, relativ einfachen Applikationen akzeptabel, wird jedoch nicht empfohlen. Es ist im allgemeinen besser, separate POM-Dateien für das übergeordnete POM und das aggregierte POM zu definieren.
3.3.4. Ein aggregiertes POM erstellen
Um ein aggregiertes POM für Ihre Einstiegsapplikation zu erstellen, verwenden Sie einen Texteditor, um eine
pom.xml
Datei im get-started
Verzeichnis zu erstellen und fügen Sie der Datei die folgenden Inhalte hinzu:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <groupId>org.fusesource.example</groupId> <artifactId>get-started</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <modelVersion>4.0.0</modelVersion> <name>Getting Started :: Aggregate POM</name> <description>Getting Started example</description> <modules> <module>cxf-basic</module> <module>camel-basic</module> </modules> </project>
Wie auch bei anderen POM müssen
groupId
, artifactId
und version
definiert sein, um dieses Artifakt eindeutig zu identifizieren. Das packaging
aber muss auf pom
eingestellt sein. Der Schlüsselteil des POM ist das modules
Element, das eine Liste zu erstellender Maven Unterprojekte und die Reihenfolge in der dieses zu erstellen sind definiert. Der Inhalt jedes module
Elements ist der relative Pfad eines Verzeichnisses, der ein Maven Projekt enthält.
3.3.5. Build mit einem aggregierten POM
Mit dem aggregierten POM können Sie den Build aller Unterprojekte auf einmal ausführen, indem Sie den folgenden Befehl in einer Befehlszeile eingeben:
cd get-started mvn install