Подтвердить что ты не робот

Javadoc в JDK 8: недопустимый "самозакрывающийся элемент не разрешен"

Каковы наилучшие обходные пути при запуске javadoc с использованием JDK 8, и один получает эту ошибку.

Кажется, что для JDK 8 было принято решение о том, что теги, такие как <br /> и <p />, должны генерировать ошибки, потому что они недействительны (строгий) HTML 4. см. дискуссию JDK список рассылки здесь

Интересно, потому что я просто хотел скомпилировать какой-то проект java, используя maven и споткнувшись по этой проблеме. Конечно, я могу подать билет с проектом (и, я думаю, я буду), но было бы здорово, если бы был способ отключить это поведение (для машины). В противном случае я ожидаю, что многие проекты должны быть исправлены до того, как они могут быть построены на JDK 8 без проблем.

4b9b3361

Ответ 1

В этих двух случаях я считаю, что рекомендуемое действие заключается в замене их на <p>. Это является ссылкой на документацию Oracle.

Ответ 2

Взято из Что нового в JDK 8" с oracle.com:

Теперь инструмент javac поддерживает проверку содержимого комментариев javadoc для проблем, которые могут привести к различным проблемам, таким как недопустимый HTML или проблемы доступности, в файлах, которые генерируются при запуске javadoc. Эта функция активируется с помощью опции -Xdoclint. Для получения дополнительной информации см. Результат работы "javac -X". Эта функция также доступна в инструменте javadoc и включена по умолчанию.

Теперь я сделал то, что мне сказал. В JDK 7 на выходе "javac -X" не упоминается опция -Xdoclint. Однако на JDK 8 он дает:

 -Xdoclint:(all|none|[-]<group>)[/<access>]
    Enable or disable specific checks for problems in javadoc comments,
    where <group> is one of accessibility, html, missing, reference, or syntax,
    and <access> is one of public, protected, package, or private.

Итак, запустите утилиту Javadoc следующим образом:

javadoc.exe -Xdoclint:none <other options...>

В моей script ошибка, о которой вы говорили, исчезла, используя эту опцию.

Ответ 3

Чтобы удалить ошибки в javaDocs, просто замените:

  • <p/> только с <p>
  • <br/> с помощью только <br>

Все исправно работает после исправления.