Gradle:在战争中覆盖文件

Gradle:在战争中覆盖文件,gradle,Gradle,我正在尝试替换用Gradle生成的WAR文件中的一个文件 文件结构: - nodes - staging - localConfig.yml - logback.groovy - grails-app - conf - application.yml - logback.groovy 当我使用参数-Pnode=staging执行gradle脚本时,我想在最后一场战争中将文件从节点/staging复制到WEB-INF/classes 这是我的方法: war

我正在尝试替换用Gradle生成的WAR文件中的一个文件

文件结构:

- nodes
  - staging
    - localConfig.yml
    - logback.groovy
- grails-app
  - conf
    - application.yml
    - logback.groovy
当我使用参数
-Pnode=staging
执行gradle脚本时,我想在最后一场战争中将文件从
节点/staging
复制到
WEB-INF/classes

这是我的方法:

war {
    if (project.hasProperty('node')) {
        from("stacks/${project.node}") {
            include('localConfig.yml')
            include('logback.groovy')
            into('WEB-INF/classes')
        }
    }
}
此gradle脚本将
localConfig.yml
复制到
WEB-INF/classes
,但是
logback.groovy
不会被替换


如何设置gradle以替换重复文件而不是保留原始文件?

我认为您需要使用添加到
WEB-INF/classes
例如:

或许

war {
    if (project.hasProperty('node')) {
        classpath fileTree("stacks/${project.node}")
    }
}
war {
    if (project.hasProperty('node')) {
        classpath fileTree("stacks/${project.node}")
    }
}