Maven und die pom.xml – Die Galaxy-JVM

Apache Maven

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:


4.0.0


















Lesen Sie auch  Arbeitslosigkeit: Die Zahl der Arbeitssuchenden ist im dritten Quartal gestiegen
” style=”color:#D4D4D4;display:none” aria-label=”Copy” class=”code-block-pro-copy-button”>
<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 groupIdl’artifactId und Version machen jedes Projekt einzigartig. Eine Kombination aus groupId, artifactIdusw version ist wie eine Adresse für jedes Projekt.


4.0.0
com.nicolas.myapp
meine App
0.0.1 ” style=”color:#D4D4D4;display:none” aria-label=”Copy” class=”code-block-pro-copy-button”>

<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.

Lesen Sie auch  Trump schlägt zu, als „Verlierer“ Ron DeSantis auf Fox auftritt

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 a groupId.
  • 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

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.