mvn001: Projektkoordinaten eindeutig setzen
Konfigurationsbeispiel
<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.0</modelVersion>
<groupId>com.acme.commerce</groupId>
<artifactId>order-service</artifactId>
<version>1.12.0</version>
<packaging>jar</packaging>
</project>
mvn002: Parent-POM sauber referenzieren
Konfigurationsbeispiel
<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.0</modelVersion>
<parent>
<groupId>com.acme.platform</groupId>
<artifactId>enterprise-parent</artifactId>
<version>1.12.0</version>
</parent>
<artifactId>order-service</artifactId>
<packaging>jar</packaging>
</project>
mvn003: Aggregator-POM vom Parent-POM unterscheiden
Konfigurationsbeispiel
<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.0</modelVersion>
<groupId>com.acme.platform</groupId>
<artifactId>commerce-reactor</artifactId>
<version>1.12.0</version>
<packaging>pom</packaging>
<modules>
<module>parent</module>
<module>services/order-service</module>
<module>services/billing-service</module>
</modules>
</project>
mvn004: Packaging bewusst festlegen
Konfigurationsbeispiel
<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.0</modelVersion>
<groupId>com.acme.platform</groupId>
<artifactId>enterprise-parent</artifactId>
<version>1.12.0</version>
<packaging>pom</packaging>
</project>
mvn005: Metadaten fuer Repository und Audit pflegen
Konfigurationsbeispiel
<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.0</modelVersion>
<groupId>com.acme.commerce</groupId>
<artifactId>billing-api</artifactId>
<version>1.12.0</version>
<name>ACME Billing API</name>
<description>Public API contract for billing and invoice integration.</description>
<url>https://git.acme.local/commerce/billing-api</url>
<organization>
<name>ACME Commerce Platform</name>
<url>https://platform.acme.local</url>
</organization>
</project>
mvn006: SCM-Daten im POM hinterlegen
Konfigurationsbeispiel
<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.0</modelVersion>
<groupId>com.acme.commerce</groupId>
<artifactId>invoice-client</artifactId>
<version>1.12.0</version>
<scm>
<connection>scm:git:ssh://git.acme.local/commerce/invoice-client.git</connection>
<developerConnection>scm:git:ssh://git@git.acme.local/commerce/invoice-client.git</developerConnection>
<tag>invoice-client-1.12.0</tag>
</scm>
</project>
mvn007: Issue- und CI-Management dokumentieren
Konfigurationsbeispiel
<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.0</modelVersion>
<groupId>com.acme.platform</groupId>
<artifactId>customer-service</artifactId>
<version>1.12.0</version>
<issueManagement>
<system>Jira</system>
<url>https://jira.acme.local/projects/CUST</url>
</issueManagement>
<ciManagement>
<system>GitLab CI</system>
<url>https://git.acme.local/commerce/customer-service/-/pipelines</url>
</ciManagement>
</project>
mvn008: Lizenzinformationen konkret eintragen
Konfigurationsbeispiel
<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.0</modelVersion>
<groupId>com.acme.platform</groupId>
<artifactId>platform-commons</artifactId>
<version>1.12.0</version>
<licenses>
<license>
<name>ACME Internal Use Only</name>
<url>https://legal.acme.local/licenses/internal-use</url>
<distribution>repo</distribution>
</license>
</licenses>
</project>
mvn009: Relative Parent-Pfade bewusst steuern
Konfigurationsbeispiel
<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.0</modelVersion>
<parent>
<groupId>com.acme.platform</groupId>
<artifactId>enterprise-parent</artifactId>
<version>1.12.0</version>
<relativePath/> <!-- Parent nur aus Repository aufloesen -->
</parent>
<artifactId>standalone-partner-client</artifactId>
<packaging>jar</packaging>
</project>
mvn010: Namen konsistent zu Artefakten halten
Konfigurationsbeispiel
<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.0</modelVersion>
<groupId>com.acme.commerce.partner</groupId>
<artifactId>partner-sync-service</artifactId>
<version>2.4.0</version>
<name>Partner Sync Service</name>
<description>Synchronizes partner catalog and contract data.</description>
</project>
mvn011: Versionen nicht in Artefaktnamen codieren
Konfigurationsbeispiel
<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.0</modelVersion>
<groupId>com.acme.commerce</groupId>
<artifactId>order-service</artifactId>
<version>2.0.0</version>
<packaging>jar</packaging>
</project>
mvn012: BOM-Projekte als pom verpacken
Konfigurationsbeispiel
<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.0</modelVersion>
<groupId>com.acme.platform</groupId>
<artifactId>acme-commerce-bom</artifactId>
<version>2026.07</version>
<packaging>pom</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.acme.commerce</groupId>
<artifactId>billing-api</artifactId>
<version>1.12.0</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>