Maven: Wie man die von einer Bibliothek hinzugefügte Abhängigkeit überschreibt

Hier ist mein Allgemeines problem:

Mein Projekt P abhängig ist, die abhängig von B hängt von C, die abhängig von version 1.0.1 D.

Es gibt ein problem mit version 1.0.1 D, und ich will so erzwingen Sie die Verwendung von einem anderen Modul. Ich weiß nicht, wie zu erklären, dass diese in meinem Projekt POMs, da ich noch nicht Hinzugefügt, die eine Abhängigkeit von D direkt. Es ist C, das erklärt die Abhängigkeit D.

Wichtig: In diesem Fall, nicht nur die version geändert wird, aber die Gruppe & Artefakt als gut. Es ist also nicht nur eine Frage der Außerkraftsetzung der version der Abhängigkeit, sondern vielmehr, ohne ein Modul und darunter noch eine.

Im konkreten Fall, D ist StAX, deren 1.0.1 hat eine bug. Anhand der Notizen in den Fehler, "die Probleme wurden gelöst durch ersetzen der stax-api-1.0.1 (maven GroupId = stax) von stax-api-1.0-2 (maven GroupId = javax.xml.stream)" so dass ich versuche nur, die.

So, D = stax:stax-api:jar:Version 1.0.1 und C = org.apache.xmlbeans:xmlbeans:jar:2.3.0

Bin ich mit maven 2.0.9, falls es Fragen.

Ausgabe von mvn dependency:tree"

mvn dependency:tree
[..snip..]
[INFO] +- org.apache.poi:poi-ooxml:jar:3.6:compile
[INFO] |  +- org.apache.poi:poi-ooxml-schemas:jar:3.6:compile
[INFO] |  |  +- org.apache.xmlbeans:xmlbeans:jar:2.3.0:compile
[INFO] |  |  |  \- stax:stax-api:jar:1.0.1:compile

In meinem Projekt POM habe ich folgende Abhängigkeiten auf "Ein":

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>3.6</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>3.6</version>
</dependency>

Vielen Dank im Voraus.

InformationsquelleAutor der Frage wishihadabettername | 2010-10-14

Schreibe einen Kommentar