Gibt es eine Möglichkeit, um auszuschließen, ein Maven-dependency weltweit?

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?

Löst nicht das problem, aber maven-enforcer-plugin gebannt Abhängigkeiten, dass wird scheitern, die bauen, wenn unerwünschte Abhängigkeiten einschleichen. Haben Sie immer noch manuell ausgeschlossen werden, wenn :-/
Eine alternative Antwort gibt es hier: stackoverflow.com/a/39979760/363573

InformationsquelleAutor Sébastien Le Callonnec | 2011-01-17

Schreibe einen Kommentar