Ich versuche einen „generischen“ Weg zu finden, um eine transitive Abhängigkeit von der Aufnahme auszuschließen, ohne sie von allen Abhängigkeiten ausschließen zu müssen, die davon abhängen. Wenn ich beispielsweise slf4j ausschließen möchte, gehe ich wie folgt vor:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jmx</artifactId>
<version>3.3.2.GA</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.4.0.GA</version>
<type>jar</type>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
Dies dient zum einen der Bereinigung der POM-Datei, zum anderen der Vermeidung zukünftiger Probleme mit Personen, die Abhängigkeiten hinzufügen, die von dieser ausgeschlossenen Abhängigkeit abhängen - und zum Vergessen, sie auszuschließen.
Gibt es einen Weg?