在我的项目中,我具有以下目录设置:
src/main/resources/common
src/main/resources/local
src/main/resources/release
我的目标是重写默认资源,并在最终归档文件中“展平”此目录树。
目前,我只找到了这个丑陋的解决方案:
resources {
exclude 'release'
exclude 'common'
exclude 'local'
srcDir 'src/main/resources/common'
srcDir 'src/main/resources/local'
srcDir 'src/main/resources/release'
}
通过这种解决方案,我认为
src/main/resources
中的文件将被复制到最终存档中。有没有一种方法可以排除资源默认目录?有什么更好的方法来解决我的问题吗?
最佳答案
更好的方法是覆盖默认位置:
sourceSets {
main {
resources {
srcDirs = [
'src/main/resources/common',
'src/main/resources/local',
'src/main/resources/release'
]
}
}
}
Gradle API提供一个属性(例如
srcDirs
)和一个类似名称的方法(例如srcDir
)来添加集合(从而添加到集合),这是惯用的习惯用法,该属性允许设置集合(从而覆盖所有默认值)。默认值)。My goal is to [...] "flatten" this directory tree in the final archive.
不知道那是什么意思。
关于gradle - Gradle- 'flatten'默认资源目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15542855/