Vous vous rendrez vite compte que JDK8 est beaucoup plus strict (par défaut) en ce qui concerne Javadoc. ( lien - voir le dernier point)
Si vous ne générez jamais de Javadoc, bien sûr, vous ne rencontrerez aucun problème, mais des choses comme le processus de publication de Maven et peut-être vos builds CI échoueront soudainement là où ils fonctionnaient très bien avec JDK7. Tout ce qui vérifie la valeur de sortie de l'outil Javadoc échouera désormais. JDK8 Javadoc est probablement aussi plus verbeux en termes de warnings
JDK7 mais ce n'est pas la portée ici. Nous parlons errors
!
Cette question existe pour recueillir des propositions sur ce qu'il faut faire à ce sujet. Quelle est la meilleure approche ? Ces erreurs doivent-elles être corrigées une fois pour toutes dans les fichiers de code source? Si vous avez une base de code énorme, cela peut demander beaucoup de travail. Quelles autres options existent?
Vous êtes également invités à commenter avec des histoires de ce qui échoue maintenant qui passerait auparavant.
Histoires d'horreur de ce qui échoue maintenant
outils wsimport
wsimport
tool est un générateur de code pour créer des consommateurs de services Web. Il est inclus dans le JDK. Même si vous utilisez l' wsimport
outil de JDK8, il produira néanmoins du code source qui ne peut pas être compilé avec le compilateur javadoc de JDK8 .
balise @author
J'ouvre des fichiers de code source âgés de 3 à 4 ans et vois ceci:
/**
* My very best class
* @author John <john.doe@mine.com>
*/
Cela échoue maintenant à cause du caractère <. À proprement parler, cela est justifié, mais pas très indulgent.
Tableaux HTML
Tableaux HTML dans votre Javadoc? Considérez ce HTML valide:
/**
*
* <table>
* <tr>
* <td>Col1</td><td>Col2</td><td>Col3</td>
* </tr>
* </table>
*/
Cela échoue maintenant avec un message d'erreur no summary or caption for table
. Une solution rapide consiste à faire comme ceci:
/**
*
* <table summary="">
* <tr>
* <td>Col1</td><td>Col2</td><td>Col3</td>
* </tr>
* </table>
*/
mais pourquoi cela doit être une erreur d'arrêt du monde de l'outil Javadoc me bat ??
Des choses qui échouent maintenant pour des raisons plus évidentes
- Liens non valides, par exemple
{@link notexist}
- HTML malformé, par exemple
always returns <code>true<code> if ...
METTRE À JOUR
Liens:
Excellent blog sur le sujet par Stephen Colebourne .
-Xdoclint
même avec javac
pour lui dire de vérifier les documents lors de la compilation…