2016-09-22 63 views
0

我試圖用Gradle生成的WAR文件中替換文件。Gradle:覆蓋WAR中的文件

文件結構:

- nodes 
    - staging 
    - localConfig.yml 
    - logback.groovy 
- grails-app 
    - conf 
    - application.yml 
    - logback.groovy 

我想從nodes/staging文件複製到WEB-INF/classes在最後的戰爭,當我執行gradle這個腳本參數-Pnode=staging

這是我的方法:

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替換重複文件而不是保留原始文件?

回答

0

我認爲你需要使用classpath method添加到WEB-INF/classes 例如:

war { 
    if (project.hasProperty('node')) { 
     classpath "stacks/${project.node}/localConfig.yml", "stacks/${project.node}/logback.groovy" 
    } 
} 

或許

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