在我的项目中,我有以下目录设置:
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
中的文件将被复制到最终存档中。有没有办法排除资源默认目录?
有没有更好的方法来解决我的问题?
答案 0 :(得分:1)
更好的方法是覆盖默认位置:
sourceSets {
main {
resources {
srcDirs = [
'src/main/resources/common',
'src/main/resources/local',
'src/main/resources/release'
]
}
}
}
它是Gradle API提供属性(例如srcDirs
)的常用习惯用法,它允许设置集合(从而覆盖任何默认值),并且具有类似名称允许添加到集合的方法(例如srcDir
)(从而添加到默认值)。
我的目标是[...]"压扁"最终档案中的这个目录树。
不确定你的意思。