我在我的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