强制依赖gradleApi()

强制依赖gradleApi(),gradle,build.gradle,Gradle,Build.gradle,我的gradle插件需要GradleAPI。因此,我使用Gradle 2.7的gradleApi依赖项 dependencies { compile gradleApi() testCompile 'junit:junit:4.11' ... } Gradle2.7和JUnit4.12一起带来了很多麻烦。这就是为什么我强制junit版本4.11。如果我显示依赖关系树,它不会出现。但是在使用gradle测试执行测试期间,它使用的是JUnit4.12 configurati

我的gradle插件需要GradleAPI。因此,我使用Gradle 2.7的gradleApi依赖项

dependencies {
    compile gradleApi()
    testCompile 'junit:junit:4.11'
    ...
}
Gradle2.7和JUnit4.12一起带来了很多麻烦。这就是为什么我强制junit版本4.11。如果我显示依赖关系树,它不会出现。但是在使用gradle测试执行测试期间,它使用的是JUnit4.12

configurations.all {
    resolutionStrategy {
        failOnVersionConflict()

        force 'junit:junit:4.11', 'commons-logging:commons-logging:1.1.3'
    }
}
我知道使用错误的verson是因为一条powermock错误消息,这只发生在JUnit4.12上。如果我使用gradle 2.0,构建工作正常

org.powermock.reflect.exceptions.FieldNotFoundException: Field 'fTestClass' was not found in class org.junit.internal.runners.MethodValidator.

如何从gradleApi中排除依赖项?

您尝试过吗?是的,但它将从该人工制品中排除所有依赖项。我需要排除一个特定的版本,因为我想保留另一个。通常一支部队可以做到这一点,但这并不适用于格拉迪。