Вы быстро поймете, что JDK8 намного строже (по умолчанию), когда дело касается Javadoc. ( ссылка - см. последний пункт)
Если вы никогда не создаете никаких документов Javadoc, то, конечно, у вас не возникнет никаких проблем, но такие вещи, как процесс выпуска Maven и, возможно, ваши сборки CI внезапно выйдут из строя там, где они отлично работали с JDK7. Все, что проверяет значение выхода инструмента Javadoc, теперь не сработает. JDK8 Javadoc, вероятно, также более warnings
подробен по сравнению с JDK7, но здесь речь не идет об этом. Речь идет о errors
!
Этот вопрос существует для сбора предложений о том, что с этим делать. Какой подход лучше? Следует ли раз и навсегда исправить эти ошибки в файлах исходного кода? Если у вас огромная кодовая база, это может потребовать много работы. Какие еще варианты существуют?
Вы также можете комментировать истории о том, что сейчас не удается, что раньше прошло.
Ужасные истории о том, что сейчас не удается
инструменты wsimport
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
чтобы указать ему, чтобы он проверял документы во время компиляции…