我在写出一个将目录路径的值保存到属性文件中的属性时遇到问题。在ant中写出文件路径属性问题
我的脚本最初在使用<property file="source.props"/>
的道具文件中读取这个特定的属性,称之为'appserver.home'。我已经回应了价值,它正确地读取为C:\\ somedir \\ jboss_4_2_3。
我的脚本接下来要做的是将此值提供给另一个属性文件(由另一个ant脚本使用 - 尽管这不重要)。要创建我使用的是占位符由$包围的那种关模板文件.... $在正确的位置插入正确的价值观这个其他文件,并使用下列内容: -
<copy file="template_file.props" tofile="target.props">
<filterset begintoken="$" endtoken="$">
<filter token="appServerDir" value="${appserver.home}"/>
<filter token="dbusername" value="${database.name}"/>
....
</filterset>
</copy>
的问题是现在在target.props中的值是C:\ somedir \ jboss_4_2_3即它失去了转义字符。当下一个ant脚本使用该文件时,它将该属性值解释为C:somedirjboss_4_2_3。
所以这个问题如何告诉蚂蚁,我正在写的值是一个文件路径? 注意我曾尝试以下,这实际上工作: -
<propertyfile file="target.props">
<entry key="appServerDir" value="${appserver.home}"/>
</propertyfile>
..也就是说,它输出的名称Ç\:\\ \\ somedir jboss4_2_3,但我宁可不使用这种技术,而使用模板文件的技术,因为它包含了一些性能,这是总是静态的,以及评论等
在此先感谢
我正在使用ant 1.7.1。但是你的例子与我的代码略有不同,因为你直接传递值,即硬编码.-你尝试过设置一些属性,并传递值吗? – Neil 2010-07-29 08:32:16
@Neil是的我试过了,输出结果是一样的:C:\\ somedir \\ jboss_4_2_3 – 2010-07-29 08:52:13
@Manuel - 你用什么版本的ant? – Neil 2010-07-29 08:58:17