Как заставить компилятор javac записать вывод в файл и консоль? - PullRequest
6 голосов
/ 06 августа 2009

Я запускаю задачу javac, используя ant , и отправляю вывод в файл журнала, используя -Xstdout аргумент компилятора для создания отчетов, но мне хотелось бы вывод также все еще отправляется на консоль, поэтому Hudson может захватить его для просмотра на экране.

Есть ли способ сделать это?

Ответы [ 3 ]

10 голосов
/ 14 августа 2009

Только что наткнулся на другую альтернативу, использующую задачу записи. Ближе к вам не нужно вводить новые цели.

<compile >
    <record name="log.txt" action="start"/>
    <javac ...
    <record name="log.txt" action="stop"/>
<compile/>
2 голосов
/ 12 августа 2009

используйте задачу 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>
0 голосов
/ 06 августа 2009

Вы можете использовать tee в любом процессе в командной строке для вывода на консоль и файла:

>myprocess.sh | tee myprocess.log

выведет вывод myprocess.sh как на консоль, так и на myprocess.log.

...