从Gradle中的依赖关系jar或war文件复制资源

时间:2015-10-26 10:45:10

标签: gradle build.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)

1 个答案:

答案 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
相关问题