在Eclipse中看不到gradle的新sourceSet

Cic*_*chy 2 eclipse dependencies gradle

我在gradle项目中创建了另一个称为“集成测试”的源集。一切正常,但是eclipse无法看到为此源集精确定义的依赖项类。

在此处输入图片说明

subprojects {
        apply plugin: 'java'
        apply plugin: 'eclipse'

        repositories {
           mavenCentral()
        }

        sourceSets {
            integrationTest {
                java {
                    compileClasspath += main.output + test.output
                    runtimeClasspath += main.output + test.output
                    srcDir file('src/integration-test/java')
                }
                resources.srcDir file('src/integration-test/resources')
            }
        }

        configurations {
            integrationTestCompile.extendsFrom testCompile
            integrationTestRuntime.extendsFrom testRuntime
        }

        dependencies {
            testCompile 'junit:junit:4.12'
            testCompile 'org.mockito:mockito-all:1.10.19'
            integrationTestCompile 'org.springframework:spring-test:4.1.7.RELEASE'
            compile 'org.springframework:spring-context:4.1.7.RELEASE'
            compile 'org.springframework:spring-core:4.1.7.RELEASE'
        }

        task integrationTest(type: Test) {
            testClassesDir = sourceSets.integrationTest.output.classesDir
            classpath = sourceSets.integrationTest.runtimeClasspath
            outputs.upToDateWhen { false }
        }

        check.dependsOn integrationTest
        integrationTest.mustRunAfter test

        version = '1.0'
    }
Run Code Online (Sandbox Code Playgroud)

当我通过命令“ build gradle”构建此项目时,项目已构建,唯一的问题是eclipse。如果我将依赖项“ org.springframework:spring-test:4.1.7.RELEASE”从“ integrationTestCompile”更改为“ testCompile”,问题就解决了。

sbr*_*ier 5

回答您的问题有点晚了,但是我发现了一个解决方案,因为我也遇到了同样的问题。

添加:

eclipse {
    classpath {
        plusConfigurations.add configurations.integrationTestCompile
        plusConfigurations.add configurations.integrationTestRuntime
    }
}
Run Code Online (Sandbox Code Playgroud)

到gradle文件解决了问题。希望对您也一样。

  • 为了让它工作,我必须使用“plusConfigurations.addconfigurations.integrationTestCompileClasspath”而不是“plusConfigurations.addconfigurations.integrationTestCompile” (3认同)