我在我的Gradle项目中创建了一个名为“integration-test”的额外源代码集。一切都很顺利,但是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'
}
当我通过命令“build gradle”构建此项目时,项目已经构建完成,唯一的问题是出现在eclipse上。如果我将依赖项'org.springframework:spring-test:4.1.7.RELEASE'从“integrationTestCompile”更改为“testCompile”,问题就解决了。
plusConfigurations.add configurations.integrationTestCompileClasspath
而不是plusConfigurations.add configurations.integrationTestCompile
。 - Dave L.