Eine POM-Datei (Project Object Model), die üblicherweise als pom.xml bezeichnet wird, ist die zentrale Konfigurationsdatei für Projekte, die mit Apache Maven erstellt werden. Es handelt sich um eine XML-formatierte Datei, die Maven alle notwendigen Informationen zur Verwaltung und zum Build eines Softwareprojekts bereitstellt. Dies umfasst die Definition der eindeutigen Projektbezeichner (groupId, artifactId, Version), die Abhängigkeiten von externen Bibliotheken und Frameworks sowie die Plugins, die spezifische Aufgaben während des Build-Lebenszyklus ausführen. Die POM spezifiziert zudem Build-Profile, die unterschiedliche Konfigurationen je nach Umgebung ermöglichen, und kann Metadaten wie Projektname, Beschreibung, Entwickler und SCM-Details (Source Code Management) enthalten. Durch die Zentralisierung der Projektkonfiguration ermöglicht die POM es Maven, Aufgaben wie das Kompilieren von Quellcode, das Ausführen von Tests, das Paketieren von Artefakten (z. B. JAR-, WAR-, EAR-Dateien) und deren Bereitstellung in Repositories zu automatisieren. Sie ist grundlegend für konsistente und reproduzierbare Builds in verschiedenen Entwicklungsumgebungen und spielt eine entscheidende Rolle bei Mavens „Convention-over-Configuration“-Ansatz für das Projektmanagement. Entwickler nutzen die POM, um neue Abhängigkeiten zu deklarieren, Build-Schritte zu konfigurieren und die Struktur sowie das Verhalten des Projekts anzupassen.