Gibt es eine Möglichkeit, eine Maven-Abhängigkeit global auszuschließen?
Ich versuche zu finden, eine "generische" Weise, ohne eine transitive Abhängigkeit einbezogen werden, ohne dass ausgeschlossen wird, werden alle Abhängigkeiten, die davon abhängen. Zum Beispiel, wenn ich ausschließen wollen, slf4j, ich Tue das folgende:
<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 ist teilweise zu bereinigen, die pom-Datei, teilweise Probleme zu vermeiden, die in Zukunft mit Menschen hinzufügen von Abhängigkeiten, die davon abhängen, ausgeschlossen Abhängigkeit — und zu vergessen, auszuschließen.
Gibt es eine Möglichkeit?
InformationsquelleAutor der Frage Sébastien Le Callonnec | 2011-01-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Funktioniert diese Hilfe? http://jlorenzen.blogspot.com/2009/06/maven-global-excludes.html
"Vorausgesetzt, ausschließen will ich das avalon-framework von mein KRIEG, ich möchte hinzufügen, die folgenden zu meinen Projekten POM mit einem Rahmen versehen. Dies funktioniert über alle transitiven Abhängigkeiten und ermöglicht es Ihnen, geben Sie es einmal.
Funktioniert dies sogar, wenn die Angabe in der parent-POM, die verhindern, dass Projekte aus, die zu erklären, dass diese in allen child-POMs."
InformationsquelleAutor der Antwort Joffer
Erstellte ich ein leeres Glas und erstellt diese Abhängigkeit:
Es ist nicht perfekt, denn von nun an haben Sie ein leeres Glas in Ihrem kompilieren/testen Weg. Aber das ist nur Kosmetik.
InformationsquelleAutor der Antwort
Erweitern dnault Kommentar:
Kann man die Maven Enforcer plugin Gebannt Abhängigkeiten Regeldass Abhängigkeiten ausgeschlossen sind. Hat man noch, um Sie auszuschließen manuell, aber der build schlägt fehl, wenn jemand fügt die Abhängigkeit anderswo durch Fehler.
Außerdem gibt es einen offenen feature request: MNG-1977 Globalen Abhängigkeit AUSSCHLÜSSE
InformationsquelleAutor der Antwort Arend v. Reinersdorff
Als Erinnerung, hier ist die Antwort von Maven-offizielle Dokumentation:
Will man ein build robuster, version Bereich verwendet werden kann. Dies würde sicherstellen, dass keine neuere version der Abhängigkeit kann stören das Projekt.
Alle slf4j-api-version >= 1.4.2 wird als angeboten (zur Verfügung gestellt) zur Laufzeit, die entweder von einem konfigurierten classpath oder einen container.
Referenzen
InformationsquelleAutor der Antwort Stephan