我有一个Java项目,其中包含两个资源目录res
和raw
。我已经在build.gradle
中设置了它,如下所示:
sourceSets.main.resources.srcDirs = ['res', 'raw']
这两个目录都包含一个名为
graphics
的子目录。问题是我想从graphics
中排除raw
目录,而不是从res
中排除。我努力了:
sourceSets.main.resources.srcDirs = ['res', 'raw']
sourceSets.main.resources.exclude 'raw/**/graphics'
但这不起作用,因为
exclude
模式相对于srcDirs
。如何仅为
exclude
目录设置raw
模式?
最佳答案
无法使用的原因是因为表达式:sourceSets.main.resources.exclude 'raw/**/graphics'
,创建了文件的新实时 View ,其中排除的文件不存在。
简而言之,它不会影响sourceSets.main.resources
。
要使其“永久”,您必须使用常规的DSL语法:
sourceSets.main {
resources {
srcDirs 'res', 'raw'
exclude 'raw/**/graphics'
}
}
关于gradle - 如何仅从sourceSet中的一个srcDir中排除文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56839222/