Gradle在构建过程中替换文件中的标记

时间:2014-01-21 00:56:44

标签: build.gradle

我有一个Web应用程序,我使用gradle来构建它。在WEB-INF文件夹(src / main / webapp / WEB-INF / my.xml)中的一个xml文件中,我有一块需要替换的文件。

<system-properties>
    <property name="clientId" value="@clientId@" />
</system-properties>

当我尝试使用以下代码替换某个值时使用:

processResources{
  filter(ReplaceTokens, tokens:['clientId': 'test'])
}

与运行gradle build时相比,输出文件(./build/exploded-app/WEB-INF/my.xml)中的令牌未被替换。我想知道哪个是正确的方法呢?

1 个答案:

答案 0 :(得分:5)

问题是您正在配置错误的任务。 processResources仅复制src / main / resources中的文件(或您在主sourceSet中定义的任何其他内容作为资源),而war复制/压缩您my.xml的任务{。}}。 p>

war {
  filter(ReplaceTokens, tokens:['clientId': 'test'])
}