在compile中排除类依赖性,但在testCompile中包含gradle
我遇到了一个问题,在我包含的一个lib中,我有一个旧版本的library Foo作为传递依赖项。我想在testCompile中使用较新版本的库Foo,但当我在intelliJ中运行测试时,它会导致冲突,因为intelliJ默认使用较旧的Foo库 我尝试过排除Foo,然后在testCompile中显式地包含它,但排除似乎覆盖了testCompile中的include 我目前正在使用下面的强制解决方案,但我更希望我不强制编译特定版本的依赖项在compile中排除类依赖性,但在testCompile中包含gradle,gradle,dependencies,Gradle,Dependencies,我遇到了一个问题,在我包含的一个lib中,我有一个旧版本的library Foo作为传递依赖项。我想在testCompile中使用较新版本的库Foo,但当我在intelliJ中运行测试时,它会导致冲突,因为intelliJ默认使用较旧的Foo库 我尝试过排除Foo,然后在testCompile中显式地包含它,但排除似乎覆盖了testCompile中的include 我目前正在使用下面的强制解决方案,但我更希望我不强制编译特定版本的依赖项 configurations.all { resolu
configurations.all {
resolutionStrategy {
force 'org.foo:bar:1.0'
}
}
您可以考虑配置IDEA .MuleDistaseStest.测试如下:
idea {
module {
scopes.TEST.minus += ['org.foo:bar:0.9-oldversion']
}
}
然后运行
gradleCleanIdea
。您也可以考虑修改TestC类配置,以排除旧版本。要清楚,当您在CLI上运行它们时,测试会通过吗?但是当您在ItLILJ中运行时,测试会失败吗?如果是这种情况,可能您的项目模块与Gradle的项目依赖项不同步。是的,它们通过CLI传递。然而,如果我清理我的项目并运行gradleidea,它并不能解决问题。