Intellij试图编译被排除的java文件



在Gradle命令行中,Foo.java被排除,不会被编译,但是Intellij仍然尝试编译被排除的文件。

sourceSets {
main {
java {

exclude '**/Foo.java'
}
}
}

https://docs.gradle.org/current/dsl/org.gradle.plugins.ide.idea.model.IdeaModule.html

正如这里所说,IDEA不支持包括排除目录的子目录,所以您必须排除build/generated-sources的所有兄弟目录。例如:

idea {
module {
excludeDirs = [file(".gradle")]
["classes", "docs", "dependency-cache", "libs", "reports", "resources", "test-results", "tmp"].each {
excludeDirs << file("$buildDir/$it")
}
}
}

另一个可能的解决方案是

idea.module {
excludeDirs -= file(buildDir) //1
buildDir.listFiles({d,f->f != 'generated-sources'} as FilenameFilter).each {excludeDirs += it}} //2

从excludeDirs中删除buildDir,然后排除每个buildDir子目录(除了generate -source)。

相关内容

  • 没有找到相关文章

最新更新