我们在不同的项目中有多个war文件,例如A和B,共享像图像这样的公共资源。公共资源放在单独项目E中的war模块中。此war文件作为依赖项添加到项目A和B中的所有war模块中。目前我们使用maven资源插件将这些公共资源复制到根目录A和B模块。
我们如何使用Gradle执行相同的操作? 我正在使用以下配置尝试此操作,但文件不会复制到生成的war文件中。它们只被复制到build / libs文件夹。
configurations { commonWebResources } task extractApi(type: Copy) { print 'File : ' + configurations.commonWebResources.singleFile from zipTree(configurations.commonWebResources.singleFile) into file("${project.buildDir}/libs/") } compileJava.dependsOn(extractApi)
答案 0 :(得分:2)
当我有想要生成构建任务的图像等公共资源时,我会执行以下操作:
sourceSets {
main {
resources.srcDirs += "src-gen/main/resources"
}
}
// (include your configurations block and extractApi task here)
processResources.dependsOn extractApi
task cleanGen << {
file('src-gen/main/resources').delete()
}
clean.dependsOn cleanGen