Ant 动态加载 .properties 文件

Posted

技术标签:

【中文标题】Ant 动态加载 .properties 文件【英文标题】:Ant load .properties file dynamically 【发布时间】:2014-11-28 07:18:06 【问题描述】:

默认情况下,当您使用<loadproperties srcFile="fileDir"/> 时,属性会在 ant 脚本执行开始时加载。

我的问题是 .properties 文件一开始不存在,因为我从其他方向复制它(根据其他内容更改它的内容)。所以问题是:我能以某种方式在 ant 脚本中间动态加载 .properties 文件吗???

【问题讨论】:

【参考方案1】:

loadproperties 只是一个普通的 Ant 任务。相当于多次调用property任务设置属性。您可以在脚本的开头、某个目标的中间或其他任何地方调用它。

因此,如果属性文件在执行期间被动态填充,并且在目标targetX 的某个时间点您想加载它,您只需照常调用任务:

<target name="targetX" >    
    <loadproperties srcfile="$pathToFile" />          
</target>

请注意,如果您之前已经加载了属性(在 Ant 脚本的最开头),那么第二次加载将不会覆盖在第一次调用 loadproperties 时设置的属性值(因为属性是不可变的) .如果要覆盖它们,可以使用 Ant-Contrib 中的 var 任务。

【讨论】:

以上是关于Ant 动态加载 .properties 文件的主要内容,如果未能解决你的问题,请参考以下文章

Java实现动态加载读取properties文件

Ant Exec 环境变量

避免缓存,Java动态加载配置文件

从属性文件动态加载数据到 jbehave 故事

Springboot 使用@RefreshScope 注解,实现配置文件的动态加载

ant propertyfile task update property 删除属性文件中的所有注释