Ant 尝试将新属性写入文件,但每个属性都没有新行

Ant 尝试将新属性写入文件,但每个属性都没有新行,ant,Ant,我以这种方式使用ant PropertyFile任务,目的是将属性写入文件: <propertyfile file="${file}"> <entry key="${candidate.property}" value="${candidate.value}"/> </propertyfile> 我想在ant中没有办法解决这个问题,如果我错了,请纠正我。 有没有一个标准的方法来解决这个问题 我的默认猜测是,我应该在java中定义自己的ant任务来实现这一

我以这种方式使用ant PropertyFile任务,目的是将属性写入文件:

<propertyfile file="${file}">
  <entry key="${candidate.property}" value="${candidate.value}"/>
</propertyfile>
我想在ant中没有办法解决这个问题,如果我错了,请纠正我。 有没有一个标准的方法来解决这个问题


我的默认猜测是,我应该在java中定义自己的ant任务来实现这一点

我今天花了好几个小时试图做你想做的事。下面是我在属性文件中解决问题的方法

<target name="set-property" depends="apply-existing-value">
    <property name="value.to.write" value="${value}"/>
        <echo file="${file}" append="true">${name}=${value}${line.separator}</echo>
</target>

${name}=${value}${line.separator}

忘记propertyfile,改用echo。在有${name}和${value}的地方替换键和值。${line.separator}将下一个属性放在新行上,没有额外的换行

不确定我是否理解您的评论。您是说
${candidate.value}
中包含换行符,您想在
${candidate.value}
中消除它们吗?或者,是属性文件本身在属性之间有换行符的问题吗?不,它在属性之间有换行符。我对Q进行了编辑以使其更清晰。在属性之间出现断线是否令人惊讶?空白行有问题吗?这似乎在按设计工作。检查Javadoc的Properties.load(Reader)方法,它解释了如何处理行/数据。该任务也可以读取由您的示例创建的文件-因此不要认为这应该是一个问题。是的,我知道它正在按设计工作,可以毫无问题地读入。我的目标是摆脱空白。我不想在这里过多地讨论特定于应用程序的细节,但基本上,所讨论的属性文件有几个脚本以类似的方式写入其中。如果不使用换行符格式化,它将有助于使其更结构化和更易于维护。有没有标准的方法来避免这些?(我真的不明白拥有它们的目的是什么)
<target name="set-property" depends="apply-existing-value">
    <property name="value.to.write" value="${value}"/>
        <echo file="${file}" append="true">${name}=${value}${line.separator}</echo>
</target>