Как исключить конкретный метод / конструктор из результатов задачи Ant javadoc?

Я использую Javadoc, сгенерированныйjavadoc Задача Ant для документирования веб-сервиса, и я хочу исключить некоторые конструкторы из вывода. Как я могу это сделать?

Ответы на вопрос(7)

Измените уровень доступа метода, затем используйте командуjavadoc атрибуты фильтрации уровня доступа задачи,private, packageи т. д. Делайте это только в том случае, если это имеет смысл в вашем коде, хотя, например, метод, который неоправданно потерял уровни доступа.

Для конструкторов, например, вы можете снизить уровень доступа доpackage, затем создайте фабричный класс в том же пакете, который обеспечивает доступ к конструкции вне пакета. Фабричный класс может быть легко отфильтрован от Javadocs. Отчасти хакерский, но это работает.

Дайте Крис Ноклеберг ExcludeDoclet попробовать: http://www.sixlegs.com/blog/java/exclude-javadoc-tag.html

Я только что экспериментировал с этим, и, похоже, он добился цели.

 20 дек. 2016 г., 16:52
Чтобы предотвратить параметризованные типы, которые плохо документированы, проверьте это исправление ExcludeDocletsdgsystems.com/blog/hiding-javadoc-elements-exclude-tag

Нет никакого способа сделать это для публичных методов. Стандартная практика (даже в довольно многих классах JDK) состоит в том, чтобы указать, что метод или конструктор не предназначен для публичного использования.

Eстьпланируем добавить тег @exclude в будущем:

@exclude - for API to be excluded from generation by Javadoc. Programmer would mark a class, interface, constructor, method or field with @exclude. Presence of tag would cause API to be excluded from the generated documentation. Text following tag could explain reason for exclusion, but would be ignored by Javadoc. (Formerly proposed as @hide, but the term "hide" is more appropriate for run-time dynamic show/hide capability.) For more discussion, see: Feature Request #4058216 in Developer Connection.

 18 февр. 2019 г., 01:05
Это был ответ в 2009/2014, какое-либо обновление для 2019 года? Спасибо

Закрытие я получил, чтобы использоватьDoclava, который имеет тег @hide, который вы можете указать в документации к методу.

Смотрите соответствующиеJavadoc FAQ запись.

There is currently no Javadoc option to hide, exclude or suppress public members from the javadoc-generated documentation.

Казалось бы, это невозможно вvanilla Javadoc, но некоторые обходные пути предлагаются.

 18 февр. 2019 г., 01:06
Как насчет 2019?

Не исключает ли что-то общедоступное из вашей документации, только вариант "безопасность через неизвестность" (или, скорее, «документация через неизвестность»)? Если конструктор является частью API вашего кода, он доступен для их использования. Если они узнают об этом и используют его, это их вина (с тех пор как вы обнародовали это в первую очередь)?

Если вы можете изменить видимость конструктора или удалить его вообще, я бы пошел на это. Если вы не можете удалить его из API, сообщите в Javadoc для конструктора, что он не предназначен для использования через веб-сервис. Таким образом, вы заключили договор с пользователями вашего API, предупреждая их не использовать его.

Лучше задокументировать, что его не следует использовать, чем вообще не документировать его (если он общедоступен). Отсутствие документирования увеличивает риск непреднамеренного использования, а затем код клиента, использующий его, прерывается при изменении реализации.

В настоящее время самое простое решение состоит в том, чтобы начать комментарий Javadoc с@deprecated, а затем передать-nodeprecated к,javadoc команда. Конечно, это может быть неприемлемо, если у вас есть устаревшие элементы, которые вы, тем не менее, хотите включить в документацию.

Ваш ответ на вопрос