Mein Vorschlag ist, dass Sie eine übergeordnete POM erstellen, aus denen Sie Ihre Projekte Ihre Einstellungen ableiten können. Dieses Eltern-POM ist einfach ein anderes Maven 2-Projekt, aber mit dem Typ "Pom" anstelle von "Jar".
Zum Beispiel könnten Sie eine übergeordnete pom wie diese:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.company.projectname</groupId>
<artifactId>projectname</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
<name>projectname</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.5</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<superprop1>this property is available in all child projects</superprop1>
<superprop2>this property is available in all child projects</superprop2>
<superprop3>this property is available in all child projects</superprop3>
</properties>
</project>
Und ein Kind des Projektes könnte wie folgt aussehen: jetzt
<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 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<artifactId>projectname</artifactId>
<groupId>com.company.projectname</groupId>
<version>1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>child-project</artifactId>
<packaging>jar</packaging>
<name>child-project</name>
<description>
My child project
</description>
</project>
Alles, was Sie in der übergeordneten POM erklären ist verfügbar in der Kinderpom. In diesem Beispiel wird dem untergeordneten Projekt automatisch die JUnit-Abhängigkeit zur Verfügung gestellt. Auf diese Weise wird auch sichergestellt, dass die Umgebung automatisch verglichen wird, als wenn jeder Entwickler mit dem Super-POM seiner Maven-Installation herumspielen müsste.