property—ant入门指南(5)

property—ant入门指南(5)


property(属性)这个标签很常用,当你在build.xml中定义了property,任务可以随意的引用该property,比如以下代码:

<property value="minghe" name="author"></property>
<target name="test"></target>
<echo>${author}</echo>

当你要引入property,只要使用${property}语法即可。


properties文件的使用

考虑以下需求:build.xml需要提供给第三方使用,第三方本机的代码路径一般都不一样,如果让第三方自己去修改build.xml的路径配置(假如在你的build.xml中有类似的定义),正好该用户不懂得ant,那么面对build.xml,他将无所适从。能不能将配置独立成一个文件,用户只要改那个配置文件即可呢?

ant的.properties文件恰恰解决这个需求。

在build.xml同级目录下建立个build.properties(文件名任意);

键入如下示例代码:

assets.dir = d:\www\htdocs\ant-demo


打开你的build.xml,插入如下代码:

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


property的file属性指向build.properties文件,那么ant在执行build.xml前会去找这个文件,build.properties内的属性会覆盖build.xml内的同名属性。

假设你的build.xml有如下property:

<property location="c:\demo" name="assets.dir"></property>
<echo>${assets.dir}</echo>

你可以试下${assets.dir},输出的将是build.properties文件内property值。


value属性和location属性的区别

这二个属性很容易混淆,不少朋友向明河询问,有了value,为什么还需要location呢?二者的作用不是一样的吗?

是的,value和location的功能是接近的,都是property的值,但有些小的区别,如果你的property存储的是路径,那么明河推荐使用location属性,location属性会对路径进行转换,永远返回绝对路径形式。来看实际代码:

<dirname file="${ant.file}" property="current.dir"></dirname>
<property location="${current.dir}/2.0/" name="assets.dir"></property>
<property value="${current.dir}/2.0/" name="assets.dir2"></property>
<target name="location">
<echo>location:${assets.dir}</echo>
<echo>value:${assets.dir2}</echo>
</target>

输出的结果如下:

留意标黄部分的差异,当你使用location属性时,值内所有的“/”都会更换为“\”(即绝对路径的形式),而且还会去掉路径中多余的“/”。所以当你使用location属性存储路径信息时更为安全。

下一篇教程将向各位介绍dataType,之后就是ant的实战部分内容。


转自:http://www.36ria.com/4584


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值