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

Apache 如何检查路径是绝对路径还是相对路径?,apache,ant,path,relative-path,absolute-path,Apache,Ant,Path,Relative Path,Absolute Path,我正在使用ApacheAnt,需要检查属性是否包含绝对路径或相对路径。如何在Windows上实现这一点 在基于Unix的系统上,我可以轻松地检查开头的“/”。是否有一个内置任务来检查这一点或更通用的方法?自从Ant 1.8.0发布以来,有一个功能允许您以可移植的方式在相对路径和绝对路径之间进行转换。从理论上讲,如果将某个属性设置为绝对路径,而该路径已经是绝对路径,则两者应该匹配,而如果第一个属性是相对的,则它们应该不同 下面是一个例子: <property name="abs.path"

我正在使用ApacheAnt,需要检查属性是否包含绝对路径或相对路径。如何在Windows上实现这一点


在基于Unix的系统上,我可以轻松地检查开头的“/”。是否有一个内置任务来检查这一点或更通用的方法?

自从Ant 1.8.0发布以来,有一个功能允许您以可移植的方式在相对路径和绝对路径之间进行转换。从理论上讲,如果将某个属性设置为绝对路径,而该路径已经是绝对路径,则两者应该匹配,而如果第一个属性是相对的,则它们应该不同

下面是一个例子:

<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}"/>
relative=“no”
属性不是严格需要的,因为默认值为“no”。注意使用
location=
而不是
value=
,以便Ant知道应该应用路径转换

Buildfile: build.xml
     [echo] ABS=C:\my\path
     [echo] REL=C:\Martin\my\path