2009-08-05 9 views
6

私はアリを使用してjavacタスクを実行していると私はレポート作成のため -Xstdoutコンパイラー引数を使用して、ログファイルに出力を送信するが、ハドソンを取り込むことができますので、私は出力もまだコンソールに送信されたいですそれはスクリーンレビューのためのものです。javacコンパイラはどのようにファイルとコンソールの両方に出力を書き込むには?

これを行う方法はありますか?

答えて

9

レコーダータスクを使用して別の方法が見つかったばかりです。 新しいターゲットを導入する必要はありません。

<compile > 
    <record name="log.txt" action="start"/> 
    <javac ... 
    <record name="log.txt" action="stop"/> 
<compile/> 
+0

」タグの意味は? – tiboo

0

コンソールやファイルに出力するコマンドライン上で任意のプロセスにティーを使用することができます。

>myprocess.sh | tee myprocess.log 

は、コンソールとmyprocess.logにmyprocess.shの両方の出力を印刷します。

+0

私はコマンドラインでそれを行う方法を知っています。私の質問は*** ant ***からそれを行う方法です –

2

出力属性を持つantタスクを使用して、javacタスクを持つターゲットを呼び出します。

<target name="javac" depends="libs" description="Compile java source"> 
    <mkdir dir="${classes.dir}" /> 
    <ant target="actual-javac" output="javac.log"/> 
</target> 

<target name="actual-javac"> 
    <javac .../> 
    </javac> 
</target>