Ant中加载和使用属性文件

Ant 构建脚本中经常需要配置一些可变参数(如服务器地址、版本号等),通过属性文件统一管理是好习惯。

加载属性文件

build.xml 中使用 <property> 标签加载 .properties 文件:

<property file="build.properties" />

build.properties 示例:

app.version=1.2.3
deploy.server=192.168.1.100
deploy.port=22
deploy.user=admin

使用属性

${property.name} 引用:

<echo message="部署到:${deploy.server}:${deploy.port}" />
<echo message="当前版本:${app.version}" />

加载多个属性文件

后面的属性不会覆盖前面已加载的同名属性(先加载的优先级更高):

<!-- 默认配置 -->
<property file="build.default.properties" />
<!-- 本地覆盖配置(可选) -->
<property file="build.local.properties" />

这样团队共享 build.default.properties,个人用 build.local.properties 覆盖本地差异。

用前缀区分来源

<property file="build.properties" prefix="build" />
<property file="deploy.properties" prefix="deploy" />

引用时加前缀:

<echo message="${build.version}" />
<echo message="${deploy.server}" />

从环境变量读取

<property environment="env" />
<echo message="JAVA_HOME: ${env.JAVA_HOME}" />

属性不可变

Ant 属性一旦设置就不能修改。如果需要在不同阶段使用不同值,可以用 <local> 在局部作用域内覆盖(Ant 1.8+):

<local name="my.var" />
<property name="my.var" value="新值" />

每天前进一小步,就是一个新的高度!

作者:唐明

出处:/post/ant-property-file

版权:本站使用"CC BY 4.0"创作共享协议,转载请在文章明显位置注明作者及出处。

关注微信公众号

DevOps持续交付公众号ID:devopscd