Опция -nodeprecated в javadoc, похоже, не работает.Что я могу сделать? - PullRequest
4 голосов
/ 19 января 2010

В моем классе есть устаревший метод:

@Deprecated
public void deprecatedMethod() {
   //do bad things
}

Я не хочу, чтобы этот метод появлялся в Javadoc. Я знаю, что есть опция с именем -nodeprecated , которая:

"Предотвращает генерацию любого Устаревший API вообще в документация. "

Так что я использую эту опцию, и она не исключает метод из javadoc. Это ошибка в Javadoc или я использую это неправильно? Что еще я могу сделать?

(я использую eclipse 3.4.2 для создания javadoc)

Ответы [ 2 ]

5 голосов
/ 19 января 2010

Вы должны включить опцию «-nodeprecated» в мастере экспорта в javadoc. Предупреждение: это опция javadoc, а не опция VM.

Я тестировал его в Eclipse 3.4, и он работал.

Редактировать: Если вы добавите только устаревшую аннотацию, она не будет работать. Вы также должны включить тег @deprecated в метод javadoc.

Я не знаю, есть ли способ сказать javadoc использовать аннотацию @Deprecated (которая, как ни странно, не имеет параметра сообщения, чтобы документировать, почему она устарела и что еще использовать).

Редактировать: до-1,5 способ устаревших методов

Вы должны включить тег @deprecated (или индикатор или что-то еще) в сообщение, которое вы хотите отобразить пользователю в javadoc после " устарело ".

/**
  This method sets the property A.
  @see getA
  @author helios
  @deprecated This method is not sync safe, use setAOk instead
 */
public void setA(String value) ...
0 голосов
/ 19 января 2010

@ Гелиос

Джон говорит, что вы должны включить тег @deprecated javadoc в блок комментариев javadoc (/ ** ... * /), как он это делал выше:

@deprecated This method is not sync safe, use setAOk instead

Добавьте это, затем используйте опцию -nodeprecated при запуске javadoc, и методы не появятся в сгенерированном документе.

...