【发布时间】:2014-11-28 07:18:06
【问题描述】:
默认情况下,当您使用<loadproperties srcFile="fileDir"/> 时,属性会在 ant 脚本执行开始时加载。
我的问题是 .properties 文件一开始不存在,因为我从其他方向复制它(根据其他内容更改它的内容)。所以问题是:我能以某种方式在 ant 脚本中间动态加载 .properties 文件吗???
【问题讨论】:
标签: java ant properties-file
默认情况下,当您使用<loadproperties srcFile="fileDir"/> 时,属性会在 ant 脚本执行开始时加载。
我的问题是 .properties 文件一开始不存在,因为我从其他方向复制它(根据其他内容更改它的内容)。所以问题是:我能以某种方式在 ant 脚本中间动态加载 .properties 文件吗???
【问题讨论】:
标签: java ant properties-file
loadproperties 只是一个普通的 Ant 任务。相当于多次调用property任务设置属性。您可以在脚本的开头、某个目标的中间或其他任何地方调用它。
因此,如果属性文件在执行期间被动态填充,并且在目标targetX 的某个时间点您想加载它,您只需照常调用任务:
<target name="targetX" >
<loadproperties srcfile="${pathToFile}" />
</target>
请注意,如果您之前已经加载了属性(在 Ant 脚本的最开头),那么第二次加载将不会覆盖在第一次调用 loadproperties 时设置的属性值(因为属性是不可变的) .如果要覆盖它们,可以使用 Ant-Contrib 中的 var 任务。
【讨论】: