2016-12-30 10 views
1

私は小さなtestprojectのためにアリを介していくつかのjavadocを生成しようとしていますが、実際にその動作すべてを理解するわけではありません。私のメインクラスのメソッドの多くは除外されているようだし、なぜ私は本当に恥知らずではない。ここjavadocでant経由で私のメソッドのドキュメントの一部が表示されないのはなぜですか?

は一例であり:

/** 
* Diese Methode deligiert die Ausfuehrung der zustandsabhaengigen Aktion an die entsprechende Methode 
* des Zustandsobjektes weiter, welches gerade in der Objektvariable zustand gespeichert ist. 
* @see SetMinutes 
* @see SetHours 
* @see DisplayTime 
*/ 
void inc(){ 
    zustand = zustand.inc(this); 
} 

このつが図示されていません。

<target name="doc" depends="generateJar"> 
    <javadoc destdir="${doc.dir}"> 
      <fileset dir="."/> 
    </javadoc> 
</target> 

示されている唯一の方法は、(文書化されている)メインメソッドとrun()メソッド(空)です:私のAntターゲットは、このようになります。私は、プロジェクトの他のクラスのメソッドのドキュメントが適切に生成され、その違いがわかりません。 (フィールドサマリの生成にも問題がありますが、それは別の質問のためのものでしょうか?)

助けてください。

答えて

2

デフォルトのjavadocコマンドラインオプションは-protectedで、publicprotectedのメソッドしか生成されません。

パッケージプライベートメソッド(inc())を取得するには、-packageまたは-privateを指定する必要があります。

Oracleドキュメント:http://docs.oracle.com/javase/8/docs/technotes/tools/windows/javadoc.html#CHDCIFFD

+0

あなたのお手伝いをしていただきありがとうございます。私は何をすべきか把握できました。 – Wolfone

0

編集:ステファンBodewigsコメントに合うように。私は次のようである解決策を見つけ出すことができたジム・ギャリソンのヒントを使用して

(私もすでにつのポストのすべてを持っていると言われたものを合計します):

  • デフォルトのコマンドラインオプションjavadocは保護されており、privateとpackageプライベートのフィールドとメソッドのjavadocは生成されません
  • これを自動化する場合は、 package = "true"(またはprivate = "true"それらのフィールドおよびメソッドも含む)

例:

<target name="doc" depends="generateJar"> <!--default option für javadoc ist -protected (siehe Web) daher fliegen im default package private methoden raus aus der doc--> 
    <javadoc destdir="${doc.dir}" package="true"> 
      <fileset dir="."/> 
    </javadoc> 
</target> 
+1

実際には 'additionalparam'を使うのではなく' package = "true" 'を使いたいと思っています。 –

+0

ありがとうございました!これに合わせて私の答えを変えよう! – Wolfone

+0

ありがとう、よく見えます。 –