Mam dwie zależności w mojej pom nazwie A i B. Obie A i B mają przejściową zależność od artefaktu C (Kasandra-wszystkie). A i B stosują różne wersje C. Zależność A to artefakt astyanax.
że chce zachować wersja C, który pochodzi z B. że dokonane przez dodanie Wyłączenie w (Astyanax) dla CJak wykluczyć zależność tylko dla określonego zakresu?
Niestety chce zakres B jako „test” . Oznacza to, że z wyłączeniem w A, C nie będzie zawarte poza zakresem testowym.
Jak mogę rozwiązać ten problem? Czy wyłączenie może dotyczyć tylko określonego zakresu? Alternatywnie, czy mogę określić, której wersji użyć dla zależności przechodnich?
Przykład:
Oto co mój pom wygląda następująco:
Artifact A (Astyanax) z wyłączeniem uzależnienia od Artifact C (zwanego Cassandra-all)
<dependency>
<groupId>com.netflix.astyanax</groupId>
<artifactId>astyanax</artifactId>
<version>1.0.4</version>
<exclusions>
<exclusion>
<groupId>org.apache.cassandra</groupId>
<artifactId>cassandra-all</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.cassandraunit</groupId>
<artifactId>cassandra-unit</artifactId>
<version>1.1.1.1</version>
<scope>test</scope>
</dependency>
Konkretnie: w jaki sposób mogę włączyć kasandra - wszystko, gdy uruchamiam kod poza zakresem testowym i nadal utrzymuję zakres testu kassandraunit?
Możliwa duplikat [Wykluczenie maven zależność dla testów] (https://stackoverflow.com/questions/12053316/exclude-maven-dependency-for-tests) – Andremoniy