Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ant:不使用echo打印build.xml缩进,否则将失败_Ant - Fatal编程技术网

Ant:不使用echo打印build.xml缩进,否则将失败

Ant:不使用echo打印build.xml缩进,否则将失败,ant,Ant,假设我的build.xml文件中有以下内容: 我希望输出为: [echo] a [echo] b [echo] c [echo] d 为此,我可以将build.xml更改为: 但是我还能做些什么来获得相同的输出吗?任何保持build.xml缩进与原始缩进相同的方法,即。解决方案之一是使用line.separator属性 <property name="nl" value="${line.separator}"/> <target name="FOO">

假设我的build.xml文件中有以下内容:

我希望输出为:

 [echo] a
 [echo] b
 [echo] c
 [echo] d
为此,我可以将build.xml更改为:


但是我还能做些什么来获得相同的输出吗?任何保持build.xml缩进与原始缩进相同的方法,即。

解决方案之一是使用line.separator属性

<property name="nl" value="${line.separator}"/>

<target name="FOO">
    <echo>a${nl}b${nl}c${nl}d</echo>
</target>
第二个解决方案是创建自定义ANT任务,该任务将根据需要提供输出,您的自定义java代码将修改ANT输出。看

 [echo] a
 [echo] b
 [echo] c
 [echo] d
<target name="FOO">
    <echo>a
b
c
d</echo>
</target>
<property name="nl" value="${line.separator}"/>

<target name="FOO">
    <echo>a${nl}b${nl}c${nl}d</echo>
</target>
FOO:
     [echo] a
     [echo] b
     [echo] c
     [echo] d