4

javadocAntタスクを介して実行したときにJavadocが出力する警告をキャプチャすることは可能ですか?タスクにあるような出力属性が表示されません。Checkstyleがキャッチされていないという警告があるようです。その出力をファイルに取り込むと、問題が発生する可能性があります。

奇妙に思えますが、これは捕らえられないでしょう。うまくいけば、私は明らかな何かを見逃しています。

〜*〜*〜*〜編集(以下の回答)〜*〜*〜*〜

Ant<record>タスクがまさに私が探していたものであるように見えます。Antのドキュメントを参照してください。

<target name="generate.docs">
    <record name="javadoc.log" action="start"/>
    <javadoc ... />
    <record name="javadoc.log" action="stop"/>
<target/>
4

4 に答える 4

1

com.sun.tools.javadoc.Mainクラスを使用してjavadocをJavaクラスとして実行し、executeメソッド(JDKに含まれるtools.jarにあります)を呼び出すことができるため、呼び出し元のjavaクラスをラップできます。出力のリダイレクトを可能にするAntjavaタスク。Antタスクの優れた機能を使用する代わりに、javadocコマンドライン引数を自分で再構築する必要がありますが、機能するはずです。

于 2009-03-20T13:44:06.800 に答える
1

これは<exec>タグを使用して可能であるように見えます (ここを参照)...おそらく王様の痛みですが、javadoc 実行可能ファイルを実行し、javadoc の生成に必要なコマンド引数を再構築することは可能かもしれません。ただし、非常に大きなクラクションのストライキとして、自然なシェルリダイレクトのみを使用しているように見えるため、Win32 と Linux の両方でビルドするには、特別なケースのモジョが必要です。

ジョブを実行するために独自のタスクを作成する価値があるかもしれません。<redirect>上記の Roboprogのタグ、または Javadoc タスクの拡張のいずれか...

于 2009-03-20T02:50:15.810 に答える
1

build.xmlスクリプトコマンドを介して毎回これを行うという明言されていない要件のために、以前のリダイレクトの回答は反対票を投じられたと思います。

うん。この機能はタスクにないようです。より良い質問は次のとおりです。ネストされたタグからすべての出力をリダイレクトする Ant のタスク/タグはありますか? このようなタスク/タグは、System.out や System.err を保存し、ファイルを作成または追加するように設定し、ブロックの最後でそれらを復元します。

何かのようなもの:

<redirect file='foo.txt' append='true'>
  <anytag you='want' />
</redirect>
于 2009-03-20T01:04:28.903 に答える