从 Gradle 中的依赖 jar 或 war 文件复制资源
Copy resources from a dependency jar or war file in Gradle
我们在不同的项目中有多个 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)
当我有想要生成任务生成的图像等公共资源时,我执行以下操作:
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
我们在不同的项目中有多个 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)
当我有想要生成任务生成的图像等公共资源时,我执行以下操作:
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