2 votes

Pourquoi la javadoc via ant n'affiche-t-elle pas une partie de la doc de ma méthode ?

J'essaie de générer de la javadoc via ant pour un petit projet de test mais je ne comprends pas vraiment tout son comportement. Je ne sais pas si je peux me permettre d'avoir des problèmes d'accès à l'information, mais je ne sais pas si je peux me permettre d'avoir des problèmes d'accès à l'information.

En voici un exemple :

/**
 * 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);
 }

Celle-ci n'est pas montrée. Ma cible de fourmis ressemble à ceci :

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

Les seules méthodes affichées sont la méthode main (qui est documentée) et une méthode run() (vide). Ce qui m'interpelle aussi, c'est que ma documentation pour les méthodes des autres classes du projet est générée correctement et que je ne vois pas la différence. (J'ai aussi des problèmes avec la génération d'un résumé des champs mais c'est probablement un sujet pour une autre question, n'est-ce pas ?)

Toute aide serait appréciée.

3voto

Jim Garrison Points 39523

La valeur par défaut javadoc L'option de ligne de commande est -protected qui ne génère que public y protected des méthodes.

Pour obtenir des méthodes privées (comme inc() est), vous devez spécifier -package o -private .

Documentation Oracle : http://docs.oracle.com/javase/8/docs/technotes/tools/Windows/javadoc.html#CHDCIFFD

0voto

Wolfone Points 387

EDITED : pour s'adapter au commentaire de Stefan Bodewigs.

Avec l'aide de Jim Garrison, j'ai pu trouver la solution suivante (je vais également résumer ce qui a déjà été dit pour que tout soit regroupé dans un seul message) :

  • L'option de ligne de commande par défaut de javadoc est -protected, qui ne génère pas de javadoc pour les méthodes et champs privés et privés de paquetage.
  • si l'on souhaite automatiser cette opération via ant, on peut utiliser package="true" (ou private="true" si l'on souhaite également inclure ces champs et méthodes)

Exemple :

<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>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X