我的web.xml中有类似的内容:
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>${path}/log4j.xml</param-value>
</context-param>
在log4j.xml中:
<appender name="errorfile"
class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${logfiles}/errors.log" />
<param name="Threshold" value="ERROR" />
<param name="datePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%t] (%c) - %m%n" />
</layout>
</appender>
当gradle构建时,我想在gradle.properties文件中提供正确值$ {path}和$ {logfiles}。
理想情况下,我想运行一个独立于构建来准备文件的任务。这样构建过程可能会更容易。
答案 0 :(得分:1)
Gradle的Copy
任务支持过滤,即用来自任意属性源的值替换占位符(${property}
)。在你的情况下,它将是:
processResources {
expand project.properties
}
它会在src/main/resources
任务期间替换processResources
中所有文件的所有令牌,其值来自project.properties
(并填充gradle.properties
)。