Ви швидко зрозумієте, що JDK8 набагато суворіший (за замовчуванням), коли мова йде про Javadoc. ( посилання - див. останній пункт кулі)
Якщо ви ніколи не генеруєте жодного Javadoc, то, звичайно, у вас не виникне жодних проблем, але такі речі, як процес випуску Maven і, можливо, ваші збірки CI раптом вийдуть з ладу там, де вони добре працювали з JDK7. Все, що перевіряє значення виходу інструменту Javadoc, тепер не вдасться. JDK8 Javadoc, ймовірно, також є більш багатослівним в warnings
порівнянні з JDK7, але це не в цій галузі. Ми говоримо про errors
!
Це питання існує для збору пропозицій щодо того, що з цим робити. Який найкращий підхід? Чи слід ці помилки виправляти раз у раз у файлах вихідного коду? Якщо у вас є величезна база коду, це може бути багато роботи. Які ще існують варіанти?
Ви також можете прокоментувати розповіді про те, що зараз не вдалося, що раніше пройшло.
Страшилки про те, що зараз не вдається
Інструменти для імпорту
wsimport
Інструмент - це генератор коду для створення споживачів веб-служб. Він включений до JDK. Навіть якщо ви використовуєте wsimport
інструмент від JDK8, він все-таки створить вихідний код, який неможливо скомпілювати з компілятором javadoc з JDK8 .
Тег @author
Я відкриваю файли вихідного коду 3-4 років і бачу це:
/**
* My very best class
* @author John <john.doe@mine.com>
*/
Тепер це не вдається через символ <. Строго кажучи, це виправдано, але не дуже прощає.
Таблиці HTML
Таблиці HTML у вашому Javadoc? Розглянемо цей дійсний HTML:
/**
*
* <table>
* <tr>
* <td>Col1</td><td>Col2</td><td>Col3</td>
* </tr>
* </table>
*/
Тепер це не вдається з повідомленням про помилку no summary or caption for table
. Одне швидке виправлення - це зробити так:
/**
*
* <table summary="">
* <tr>
* <td>Col1</td><td>Col2</td><td>Col3</td>
* </tr>
* </table>
*/
але чому це повинно бути помилкою зупинки світу від інструменту Javadoc б'є мене ??
Речі, які зараз провалюються з більш очевидних причин
- Недійсні посилання, наприклад
{@link notexist}
- Неправильний HTML, наприклад
always returns <code>true<code> if ...
ОНОВЛЕННЯ
Посилання:
Відмінний блог на цю тему зі Стівеном Колборн .
-Xdoclint
навіть з, javac
щоб сказати, щоб перевірити документи під час компіляції…