使用apache ant,我希望我的属性文件输出
blurb=testn
但是, n 将在构建过程中逃脱斜线
<propertyfile file="about.properties">
<entry key="blurb" value="testn"/>
</propertyfile>
,输出将为
blurb=test\n\
是Incoorect
您可以使用内置的line.separator
属性与propertyfile
任务相呼应字符串n
。但是,如果您在非unix系统上运行脚本,这将产生不同的输出,例如rn
。
<propertyfile file="about.properties">
<entry key="blurb" value="test${line.separator}" />
</propertyfile>
结果:
#Thu, 07 Mar 2019 10:33:16 -0800
blurb=testn
关于尾随的后斜线,这是不可能的,因为propertyfile
任务不仅盲目地回荡了文件中;它积极维护属性文件并应用自动格式。一个尾随的逃生角色只是什么都没有格式化,因为它没有任何东西可以逃脱。
例如,如果您手动创建以下属性文件:
blurb=testn
...然后运行以下代码:
<propertyfile file="buildNumber.properties">
<entry key="anotherProperty" value="anotherValue" />
</propertyfile>
您最终会这样:
#Thu, 07 Mar 2019 10:42:43 -0800
blurb=testn
anotherProperty=anotherValue
尽管脚本甚至没有对blurb
属性做任何事情。
如果您真的,真正的想在某些原因出于某种原因将blurb=testn
写入您的文件,则可以使用replaceregexp
任务(或仅replace
任务,如果您确切知道现有值将是什么是):
<replaceregexp
file="about.properties"
match="blurb=.*"
replace="blurb=test\\n\"
/>