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
Red Hat logoGithubRedditYoutubeTwitter

Lernen

Testen, kaufen und verkaufen

Communitys

Über Red Hat Dokumentation

Wir helfen Red Hat Benutzern, mit unseren Produkten und Diensten innovativ zu sein und ihre Ziele zu erreichen – mit Inhalten, denen sie vertrauen können.

Mehr Inklusion in Open Source

Red Hat hat sich verpflichtet, problematische Sprache in unserem Code, unserer Dokumentation und unseren Web-Eigenschaften zu ersetzen. Weitere Einzelheiten finden Sie in Red Hat Blog.

Über Red Hat

Wir liefern gehärtete Lösungen, die es Unternehmen leichter machen, plattform- und umgebungsübergreifend zu arbeiten, vom zentralen Rechenzentrum bis zum Netzwerkrand.

© 2024 Red Hat, Inc.