考虑以下 gradle 项目:
src/foo/module-info.java
module foo {}
src/bar/module-info.java
module bar {
requires foo;
}
构建.gradle
apply plugin: 'java'
sourceSets {
foo {
java { srcDir 'src/foo' }
}
bar {
java { srcDir 'src/bar' }
}
}
dependencies {
barCompile sourceSets.foo.output
}
compileBarJava.dependsOn 'compileFooJava'
运行gradle compileBarJava
时,java编译器给出以下错误:
src/bar/module-info.java:2: error: module not found: foo
requires foo;
^
这是为什么?毕竟,bar
源集的设置方式是它应该完全依赖于foo
. 如果bar
源集中的类依赖于 中的类foo
,编译器不会抱怨。