我在我的pom中有兩個名爲A和B的依賴項.A和B都對一個工件C(cassandra-all)具有傳遞依賴性。 A和B使用C的不同版本。依賴項A是神器astyanax。
我想保持附帶B.我通過爲C.如何僅排除特定作用域的依賴項?
不幸的是在加入A(Astyanax)排除完成C的版,我想B的範圍爲「測試」 。這意味着,如果排除在A中,C將不會包含在測試範圍之外。
我該如何解決這個問題?排除是否僅限於特定範圍?或者,我可以指定哪個版本用於傳遞依賴關係?
例子:
這裏是我的POM樣子:
神器A(astyanax)與神器C相關性的排斥(稱爲卡桑德拉-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>
具體而言:當我在測試範圍之外運行代碼並且仍然只保留cassandraunit測試的範圍時,如何包含cassandra-all?
可能的複製[排除了測試行家依賴] (https://stackoverflow.com/questions/12053316/exclude-maven-dependency-for-tests) – Andremoniy