Apache Ant中的斜线逃脱



使用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\"
    />

相关内容

  • 没有找到相关文章

最新更新