2016-11-03 4 views
0

私がmakefileから発行するjavadocコマンドでエラーまたは警告が発生したかどうかを確認したいと考えています。現在、javadocに指定したクラスパスにはないimport文が原因でエラーが発生していることがわかります(しかし、そうする必要があります)。最終的にjavadocの呼び出しと内容を修正し、それをロックして、エラーや警告がmakefileによって捕捉され、ビルドが停止するようにしたいとします。しかし、私が知る限り、javadocコマンドの戻りコード値はドキュメントには記載されていません。 Java 7を使用し、javadocをAntまたはMavenからではなく、GNU makefileのコマンドから実行していることに注意してください。私は何をお勧めしますか?javadocでエラーまたは警告が発生したかどうかを確認する

UPDATE:

<path1>/javadoc -overview <path2>/overview.html -sourcepath <path3> <file1> <file2> <dir1> <dir2> -d <output_dir> 

私はエラーが警告として扱われることを引き起こすというコールで見ることができるものは何もありません:私のコマンドは次のようになります。

ここで私が見ているエラー/警告メッセージを表示出力からの断片です:単語「エラー」がそこに表示されますが、最後に、出力は唯一の「50回の警告を言う

.... 
Constructing Javadoc information... 
../../../<path>/<filename>.java:5: error: package javax.servlet.http does not exist 
import javax.servlet.http.HttpSessionBindingEvent; 
.... 

は、 "別の問題(回答の1つに@invalidタグなど)を追加すると、51の警告が表示されます。

+0

試したときに何が起こったのですか? – EJP

答えて

0

javadoc 1.7でエラーが報告されても、戻り値はゼロで返されるため、ビルドではキャッチされません。しかし、javadoc 1.8は、ビルドがキャッチしないゼロ以外の戻り値を返します。

0

私はゼロの値が返され、エラーが存在しない場合に、コマンドラインからの試み:

> javadoc my.package.name 
> .... 
> echo $? 
> 0 

とjavadocコマンドを編集した後:

/** 
* @invalid 
*/ 

と同じJavadocを実行しますもう一度コマンドを実行すると、エラーメッセージとリターンコード1が返されます。

> javadoc my.package.name 
> .... 
> ./my/package/name/Coordinate.java:21: error: unknown tag: invalid 
> * @invalid 
> ^
> .... 
> echo $? 
> 1 

javadocの戻り値が0であるかどうか確認してください。その戻り値を確認する方法がわからない場合は、this SO question and answer

+0

私の場合、 'javadoc'コマンドは、「エラー」というテキストを含むメッセージを受け取ったとしても、コマンドラインから実行すると0を返します。最後に、それらはすべて警告としてカウントされます。 '@valid'呼び出しを追加すると、警告の数が増えます。私はそれを示すために私の元の質問を更新しました。 – Alan

+0

@Alan:この ''構文は何ですか?それは私にとってGNU Makefileの構文のようには見えません。 javadocコマンドの戻り値はどこで確認していますか? –

+0

は「私が全面的に書きたいとは思っていない道」の略語です。 – Alan