Eclipse中无法看到gradle的新sourceSet

时间:2015-08-02 19:17:01

标签: eclipse gradle dependencies

我在gradle项目中创建了另一个名为“integration-test”的源集。 Ewerything工作正常,但eclipse无法看到为此源集确定的依赖类。

enter image description here

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'
    }

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

2 个答案:

答案 0 :(得分:3)

回答你的问题有点晚了,但我刚刚找到了解决方法,因为我遇到了同样的问题。

添加:

eclipse {
    classpath {
        plusConfigurations.add configurations.integrationTestCompile
        plusConfigurations.add configurations.integrationTestRuntime
    }
}

到gradle文件解决了问题。我希望它能为你做同样的事。

答案 1 :(得分:0)

我发现一种对我来说非常有用的方法是这个测试集插件:https://plugins.gradle.org/plugin/org.unbroken-dome.test-sets

这使得向我的模块添加集成测试变得非常容易。它可以自动使用eclipse插件。