在ant文件中,我试图将windows样式路径分隔符转换为unix样式。我有以下内容:
<path id="basedir.path">
<!-- ${basedir} is a project attribute. -->
<pathelement path="${basedir}" />
</path>
<pathconvert property="adjusted_basedir" refid="basedir.path">
<mapper>
<globmapper from="*" to="*" handledirsep="yes"/>
</mapper>
</pathconvert>
<echo level="verbose" message="Basedir: ${basedir}" />
<echo level="verbose" message="Adj Basedir: ${adjusted_basedir}" />
但adjusted_basedir
的输出与basedir
相同。我尝试过使用
<mapper type="regexp" from="\\" to="/" />
但adjusted_basedir
的输出只是“/”。如何将路径分隔符从Windows转换为unix样式?我想避免为这个使用附加组件(因此ant-contrib已经出局)。
答案 0 :(得分:2)
尝试使用filtermapper
:
<pathconvert property="adjusted_basedir" refid="basedir.path">
<filtermapper>
<replacestring from="\" to="/" />
</filtermapper>
</pathconvert>
请参阅https://ant.apache.org/manual/Types/mapper.html。
在pathconvert
任务中还有一个属性可以执行此操作:
<pathconvert property="adjusted_basedir" refid="basedir.path" dirsep="/" />