我正在使用apache ant并且需要检查属性是否包含绝对路径或相对路径。如何在Windows上实现这一目标?
在基于unix的系统上,我可以轻松地检查他开始的'/'int。是否有内置任务来检查这个或更通用的方法?
谢谢!
答案 0 :(得分:2)
自从Ant 1.8.0发布以来,property
task有一个功能,允许您以便携方式在相对路径和绝对路径之间进行转换。理论上,如果你将一个属性设置为绝对路径,那么两个应该匹配,而如果第一个属性是 relative,那么它们应该不同。
以下是插图:
<property name="abs.path" value="C:\my\path" />
<property name="rel.path" value="my\path" />
<property name="abs.candidate" location="${abs.path}" relative="no" />
<property name="rel.candidate" location="${rel.path}" relative="no" />
<echo message="ABS=${abs.candidate}"/>
<echo message="REL=${rel.candidate}"/>
结果:
Buildfile: build.xml
[echo] ABS=C:\my\path
[echo] REL=C:\Martin\my\path
不严格需要relative="no"
属性,因为默认值为“no”。请注意使用location=
而不是value=
,以便Ant知道应该应用路径转换。