Maven-Test-Bereich
Wenn ich ein Projekt von mir myproject1 hat die folgenden depenedencies:
<!-- logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.6</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.1.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.1</version>
<scope>test</scope>
</dependency>
Und ich myproject1 in myproject2 etwa so:
<dependency>
<groupId>com.mydomain</groupId>
<artifactId>myproject1</artifactId>
<version>1.0</version>
</dependency>
<!-- Android Logging-->
<dependency>
<groupId>com.github.tony19</groupId>
<artifactId>logback-android-core</artifactId>
<version>1.1.1-2</version>
</dependency>
<dependency>
<groupId>com.github.tony19</groupId>
<artifactId>logback-android-classic</artifactId>
<version>1.1.1-2</version>
</dependency>
Ich bin immer noch zu sehen logback Klassen in myproject2. Mein Verständnis ist, dass der Testumfang sollte verhindern, dass diese Gläser von Blutungen in übergeordneten Projekten. Bin ich Missverständnis, was? Ich bin derzeit mit der Zusammenstellung in Themen wie meine Eltern-Projekt stützt sich auf logback-android und so habe ich mehrere Klassen mit dem gleichen Namen z.B. ch.qos.logback.classic.AsyncAppender
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie ausschließen, transitive Abhängigkeiten von
myproject1
und Sie haben hier zwei Optionen.Optionale Abhängigkeit. Daneben
logback-core
immyproject1
optional:Ausgeschlossen Abhängigkeit. Ausschließen
logback-core
wennmyproject1
:Ich denke auch, wenn Sie bauen mit den tests aus (
-Dmaven.test.skip=true
)logback-core
sowieso nicht eingeschlossen.Laufen
mvn dependency:tree
zu sehen, die Herkunft Ihrer Abhängigkeiten und deren Umfang.mvn clean install
ich habe immer noch die logback-Gläser in meinem anderen Projekt. Ohne Sie verhindert dies aber nicht. Brauche ich den test Bereich, UND das optionale flag?mvn dependency:tree
wie oben erwähnt