Was ist pom.xml (Projektobjektmodell)? Beispiel pom.xml zur Verwendung in Ihrem dynamischen Webprojekt (Java / J2EE)

Veröffentlicht: 2021-06-25
Was ist pom.xml (Projektobjektmodell)? Beispiel pom.xml zur Verwendung in Ihrem dynamischen Webprojekt

Was ist eine pom.xml-Datei?

POM bedeutet Project Object Model . Es ist eine grundlegende Arbeitseinheit in Maven. Die pom.xml-Datei enthält alle Konfigurations-, Abhängigkeits-, Plugin-Integrations- und Projekteinrichtungsanweisungen.

Dies ist der beste Weg, um Bibliotheksabhängigkeiten zu Ihrem Projekt hinzuzufügen. Das Kopieren von .jar-Dateien in Ihren Projektressourcenordner ist eine alte Methode

Lassen Sie uns die pom.xml-Datei im Detail verstehen.

Einfachste standardmäßige pom.xml-Datei

Gehen wir die pom.xml-Elemente durch:

Element Beschreibung
Projekt Das Element ist die Wurzel des Deskriptors. Die folgende Tabelle listet alle möglichen untergeordneten Elemente auf.
modelVersion Gibt an, welcher Version des Projektdeskriptors dieses POM entspricht. Stellen Sie es auf Version 4.0.0 ein.
Gruppen-ID Eine universell eindeutige Kennung für ein Projekt. Es ist normal, einen vollständig qualifizierten Paketnamen zu verwenden, um es von anderen Projekten mit einem ähnlichen Namen zu unterscheiden (z. B. org.apache.maven).
artifactId Die Kennung für dieses Artefakt, die innerhalb der durch die Gruppen-ID angegebenen Gruppe eindeutig ist. Ein Artefakt ist etwas, das von einem Projekt produziert oder verwendet wird. Beispiele für von Maven für ein Projekt erstellte Artefakte sind: JARs, Quell- und Binärdistributionen und WARs.
Ausführung Die aktuelle Version des von diesem Projekt erstellten Artefakts.
pom.xml-Elemente verstehen

pom.xml-Datei mit zusätzlichen Elementen

pom.xml-Datei mit weiteren Elementen:

Element Beschreibung
Verpackung Die Art von Artefakt, die dieses Projekt produziert, zum Beispiel Jar War Ear Pom. Plugins können ihre eigene Verpackung und damit ihre eigenen Verpackungstypen erstellen, daher enthält diese Liste nicht alle möglichen Typen.
Name Der vollständige Name des Projekts.
URL Die URL zur Homepage des Projekts.
Abhängigkeiten Dieses Element beschreibt alle mit einem Projekt verbundenen Abhängigkeiten. Diese Abhängigkeiten werden verwendet, um während des Erstellungsprozesses einen Klassenpfad für Ihr Projekt zu erstellen. Sie werden automatisch aus den in diesem Projekt definierten Repositories heruntergeladen.
Abhängigkeit Die Projektgruppe, die die Abhängigkeit erstellt hat, z. B. org.apache.maven.
bauen Informationen, die zum Erstellen des Projekts erforderlich sind.
Quellverzeichnis Dieses Element gibt ein Verzeichnis an, das die Quelle des Projekts enthält. Das generierte Build-System kompiliert die Quelle in diesem Verzeichnis, wenn das Projekt erstellt wird. Der angegebene Pfad ist relativ zum Projektdeskriptor.
Endname Der Dateiname (ohne Erweiterung und ohne Pfadinformationen), unter dem das erzeugte Artefakt aufgerufen wird. Der Standardwert ist ${artifactId}-${version}.
Plugins Die Liste der zu verwendenden Plugins.
Plugin Die Gruppen-ID des Plugins im Repository.
Umfang Der Umfang der Abhängigkeit – kompilieren, Laufzeit, Test, System und bereitgestellt. Wird verwendet, um die verschiedenen Klassenpfade zu berechnen, die zum Kompilieren, Testen usw. verwendet werden. Es hilft auch bei der Bestimmung, welche Artefakte in eine Verteilung dieses Projekts aufgenommen werden sollen.

Wir haben mehr als 700 Java-Tutorials auf Crunchify veröffentlicht und verwenden seit Beginn pom.xml-Dateien, einschließlich Spring MVC-Abhängigkeiten.

Da in den letzten Jahren immer mehr Bibliotheksabhängigkeiten hinzugefügt wurden, ist die pom.xml-Datei des Java-Tutorials von Crunchify jetzt größer geworden

Hier ist unsere aktuelle pom.xml-Datei als Referenz. Wenn Sie es kopieren und zu Ihrem Projekt hinzufügen, funktioniert das auch für Sie.

pom.xml-Datei, die wir für die Java-Totorials von Crunchify verwenden

Ich hoffe, dies verdeutlicht, was eine pom.xml-Datei ist und warum wir sie in jedem J2EE-Projekt von Java verwenden.

Lassen Sie mich wissen, wenn Sie weitere Fragen haben.

Aktualisieren Sie Log4j auf die neueste Version

CVE-2021-44228: Apache Log4j2 <=2.14.1 JNDI-Funktionen, die in Konfiguration, Protokollmeldungen und Parametern verwendet werden, schützen nicht vor von Angreifern kontrolliertem LDAP und anderen JNDI-bezogenen Endpunkten.

Ab log4j 2.16.0 ist dieses Verhalten standardmäßig deaktiviert.