In diesem Artikel werden wir die verschiedenen Komponenten des sehen pom.xml und wie jeder Teil des Pom eine entscheidende Rolle bei der Bereitstellung notwendiger Informationen für andere am Projekt teilnehmende Klassen spielt.
POM steht für „Projektobjektmodell“.
POM besteht aus drei Wörtern, und jedes Wort hat seine eigene Bedeutung:
- Projekt : Es ist der logische Behälter jeder Software/Funktion, in der jede Funktion implementiert ist.
- Objekt : Jedes Projekt besteht aus verschiedenen Objekten wie Klassen, Methoden, benutzerdefinierten Variablen usw.
- Modell : Das Modell ist eine abstrakte Ansicht eines beliebigen Projekts und Objekts, d. h. es enthält die Informationen über den Aspekt der Projekte/Objekte.
Nehmen wir nun an, wir setzen die drei Elemente zusammen (Projekt, Objekt und Modell). In diesem Fall kann beobachtet werden, dass das POM alle notwendigen Informationen enthält, die von dem Projekt und den verschiedenen mit dem Projekt verbundenen Objekten benötigt werden.
- Das POM enthält eine Datei von AufbauInformation über Abhängigkeitenihre VersionenInformationen über Repository, Organisation, Entwickler, Lizenzen und alle anderen wichtigen Informationen für das Programm.
- Das POM enthält alle Informationen zum Ablauf der Konstruktion als Plugin-Konfiguration.
- POM enthält eine Antwort auf das WER, WAS und WO von Projekten.
Unten ist ein POM, das die verschiedenen Abschnitte zeigt.
Der folgende Abschnitt stammt von der offiziellen Maven-Website:
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>...groupId>
<artifactId>...artifactId>
<version>...version>
<packaging>...packaging>
<dependencies>...dependencies>
<parent>...parent>
<dependencyManagement>...dependencyManagement>
<modules>...modules>
<properties>...properties>
<build>...build>
<reporting>...reporting>
<name>...name>
<description>...description>
<url>...url>
<inceptionYear>...inceptionYear>
<licenses>...licenses>
<organization>...organization>
<developers>...developers>
<contributors>...contributors>
<issueManagement>...issueManagement>
<ciManagement>...ciManagement>
<mailingLists>...mailingLists>
<scm>...scm>
<prerequisites>...prerequisites>
<repositories>...repositories>
<pluginRepositories>...pluginRepositories>
<distributionManagement>...distributionManagement>
<profiles>...profiles>
project>
Die derzeit unterstützte Version von POM ist 4.0.0, die Sie im Tag finden
Das folgende POM-Beispiel ist die striktes Minimum für jedes Projekt (das Projekt enthält keine Suchtalles ist von Grund auf neu codiert).
Der groupId
l’artifactId
und Version machen jedes Projekt einzigartig. Eine Kombination aus groupId
, artifactId
usw version
ist wie eine Adresse für jedes Projekt.
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>com.nicolas.myappgroupId>
<artifactId>my-appartifactId>
<version>0.0.1version>
project>
Grundlegende Tags
Betrachten Sie das Beispiel eines Fahrzeugverfolgungssystems, das unterschiedliche Abteilungen wie etwa eine Fahrzeugzustiegsabteilung, eine Fahrzeugreservierungsabteilung und eine Verwaltungsabteilung enthalten wird. In diesem Beispiel gehen wir davon aus, dass das Unternehmen, für das wir arbeiten, eine haben möchte groupId
bei jedem Projekt anders.
Gruppen-ID :
Es gibt keine feste Regel zu definieren groupId
. Es hängt vom Entwickler oder der Organisation ab, ob sie verschiedene Abteilungen unter einem Projekt oder verschiedene Projekte unter einer Organisation zusammenfassen möchten.
- In unserem Beispiel können Sie die benennen
groupId
als com.trackingvehicle. Es gibt keine feste Regel für die Benennung von agroupId
. - Es ist normalerweise einzigartig unter allen Organisationen und alle Projekte. Es ist ein Container für alle Dienste innerhalb desselben Projekts.
groupId
muss nicht durch Punkte getrennt werden, aber es ist a gute Übung um es durch Punkte getrennt zu haben.- Wenn Sie ein Projekt im Maven-Repository (lokal oder global) speichern, fungiert jedes durch einen Punkt getrennte Wort als Verzeichnis. In unserem Beispiel befindet sich das Projekt unter com/trackingvehicle.
artifactId :
artifactId
ist der Name der Dienste oder Module, die dem Projekt zugeordnet sind.- In unserem Beispiel Onboarding-Service, Buchungsserviceusw Admin-Service wird der Name der Artefakt-ID sein.
- Er ist einzigartig für jede
groupId
. - Wenn wir die Dienste im Maven-Repository speichern, lautet die Codebasis:
onboarding-service -> com/trackingvehicle/onboarding-service
booking-service -> com/trackingvehicle/booking-service
admin-service -> com/trackingvehicle/admin-service
WordPress:
Ich mag Wird geladen…