我的 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 的依赖(称为 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>
所以具体来说:当我在测试范围之外运行代码并且仍然只保留 cassandraunit 测试的范围时,如何包含 cassandra-all?