Gradle替换令牌

时间:2017-07-05 20:34:07

标签: gradle

我正在使用gradle过滤来使用下面的代码替换一个log4j.xml中的标记。

import org.apache.tools.ant.filters.ReplaceTokens
task copylog4jEnvSpecific(type:Copy){
       from("$config_dir/"+"$env")
       into("$webAppDir/WEB-INF/classes")
       include "**/log4j.xml"
       filter(ReplaceTokens, tokens: [LOG_HOME: project.rootDir])
}

但我收到错误

Execution failed for task ':copylog4jEnvSpecific'.
  

无法复制文件' C:\ Users \<> \ rws \ conf \<> \ configuration \ dev \ log4j.xml'到' C:\ Users \<> \ rws \ build \ WebContent \ WEB-INF \ classes \ log4j.xml'。

1 个答案:

答案 0 :(得分:0)

此处需要更多信息。使用--stacktrace运行您的构建,也许我们可以在那里获得更多信息。

我认为C:\Users\<>\rws是您的项目路径?

你什么时候运行任务?也许build目录还不存在? 还有什么是创建WebContent\WEB-INF\classes\

您可以确保在构建任务之后执行任务:

copylog4jEnvSpecific.dependsOn build