Ant Java任务:如何获得输出到控制台和文件总是记录构建输出而没有shell重定向

use*_*819 6 java ant

我正在使用ant来启动Java程序.

程序终止后,我不想"松散"输出.所以我使用属性' output'将输出存储在一个文件中.

<java classname="..." fork="true" output="....txt">
Run Code Online (Sandbox Code Playgroud)

不幸的是,我没有任何控制台输出.在控制台 txt文件中输出的好方法是什么.

我正在寻找替代方案

ant mytast > myFile.txt
Run Code Online (Sandbox Code Playgroud)

因为我不想要,"用户"必须使用shell重定向"> .."..如果他/她没有选择重定向,则输出会丢失.

Jay*_*yan 7

Ant有一种记录输出的方法.http://ant.apache.org/manual/Tasks/recorder.html.

记录器是当前构建过程的监听器,它将输出记录到文件中.

几台录像机可以同时存在.每个记录器都与一个文件相关联.文件名用作记录器的唯一标识符.使用未使用的文件名对记录器任务的第一次调用将创建一个记录器(使用提供的参数)并将其添加到构建的侦听器.使用此文件名对记录器任务的所有后续调用将修改记录器状态(记录与否)或其他属性(如记录级别).

看起来满足您的需求.

    <compile >
        <record name="log.txt" action="start"/>
        <javac ...
        <record name="log.txt" action="stop"/>
    <compile/>
Run Code Online (Sandbox Code Playgroud)