我正在编写一个来自ant的文本文件的目录路径,后来由Java应用程序读取以查找另一个文件。
在我的蚂蚁剧本中,我有:
<property name="fulltrainer.dir" location="${trainer.dir}" />
<echo file="${trainer.dir}/properties/commonConfig.properties"># KEY VALUE
CurrentBuildFile=${fulltrainer.dir}\current_build</echo>
在build.properties文件中,trainer.dir设置为:
trainer.dir=../trainer
最终写作:
# KEY VALUE
CurrentBuildFile=C:\Workspaces\ralph\trainer\current_build
到commonConfig.properties文件。
我需要它写:
# KEY VALUE
CurrentBuildFile=C:\\Workspaces\\ralph\\trainer\\current_build
或者,我需要它写:
# KEY VALUE
CurrentBuildFile=C:/Workspaces/ralph/trainer/current_build
我该怎么做?
答案 0 :(得分:9)
这看起来很像这个问题:Ant produces jsfl with backslashes instead of slashes
因此,请尝试使用pathconvert
任务。
<pathconvert targetos="unix" property="fulltrainer.unix_dir">
<path location="${trainer.dir}"/>
</pathconvert>
<property name="cf.props" value="${trainer.dir}/properties/commonConfig.properties"/>
<echo file="${cf.props}" message="# KEY VALUE"/>
<echo file="${cf.props}" append="yes" message="CurrentBuildFile=${fulltrainer.unix_dir}/current_build"/>