Maven & Build Engineering
Reproduzierbare Multi-Modul-Builds, Dependency Governance, Qualitätsgates und Software-Lieferkette. Nutze die Seite während Entwurf und Umsetzung: Arbeite an einem konkreten Codepfad und sichere Fachverhalten, Abhängigkeiten und Wartbarkeit mit passenden Tests.
Arbeitsauftrag
Wann verwenden?
Wenn Builds nicht reproduzierbar sind oder Abhängigkeiten, Plugins und Module gesteuert werden müssen.
Nicht dafür verwenden
Nicht als Ablage beliebiger Skripte außerhalb eines klaren Build-Lebenszyklus.
Definition of Done
Build läuft offline reproduzierbar; Versionen sind fixiert; Dependency- und Plugin-Governance sowie Quality Gates greifen.
Multi-Modul-Struktur
Der Aggregator steuert die Build-Reihenfolge. Ein Parent vererbt gemeinsame Konfiguration. Beide Rollen können kombiniert werden, sollten aber gedanklich getrennt bleiben.
Module werden nach Verantwortlichkeiten geschnitten, nicht nach jeder einzelnen technischen Klasse.
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example.workbench</groupId>
<artifactId>modular-monolith</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>domain</module>
<module>application</module>
<module>adapters</module>
<module>bootstrap</module>
</modules>
</project>
Dependency Governance
Versionen werden über Dependency Management oder eine BOM kontrolliert. Transitive Abhängigkeiten werden nicht dem Zufall überlassen.
Enforcer-Regeln, SBOM und Schwachstellenprüfung gehören zur Lieferkette, ersetzen aber keine Bewertung der tatsächlichen Erreichbarkeit einer Schwachstelle.
mvn -U clean verify
mvn dependency:tree
mvn dependency:analyze
mvn versions:display-dependency-updates
Build-Gates
Der Build läuft von Compiler- und Formatregeln über Unit- und Integrationstests bis zu Architektur-, Security- und Paketprüfungen. Schnelle Fehler stehen früh, teure Prüfungen später.
Praxisartefakt · Dependency Policy
- Versionen
- Zentral im Dependency Management, keine dynamischen Bereiche.
- Erlaubt
- Freigegebene Bibliotheken mit Owner, Lizenz und Updatepfad.
- Verboten
- Snapshots im Release, doppelte Logging-Stacks und ungeprüfte Repositories.
- Gate
- Enforcer, Dependency Analysis, SBOM und reproduzierbarer Clean Build.
- Ausnahme
- Befristet, begründet, mit Owner und Ablaufdatum dokumentiert.