ant:如何检查路径是绝对路径还是相对路径?

时间:2011-07-29 18:45:31

标签: apache ant path relative absolute

我正在使用apache ant并且需要检查属性是否包含绝对路径或相对路径。如何在Windows上实现这一目标?

在基于unix的系统上,我可以轻松地检查他开始的'/'int。是否有内置任务来检查这个或更通用的方法?

谢谢!

1 个答案:

答案 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知道应该应用路径转换。