Как упоминалось @Stephen, исходный файл для унаследованного метода должен быть доступен и должен находиться по пути, указанному -sourcepath
. Это объясняется в документации по инструменту Javadoc:
Инструмент Javadoc обладает способностью
копировать или «наследовать» комментарии метода в
классы и интерфейсы под
следующие два обстоятельства.
Конструкторы, поля и вложенные
классы не наследуют комментарии к документу.
Автоматически наследовать комментарий для заполнения отсутствующего текста - Когда main
описание или @return
,
Тег @param
или @throws
отсутствует
из комментария метода, Javadoc
инструмент копирует соответствующий основной
описание или тег комментарий от
метод, который переопределяет или реализует (если
любой), согласно алгоритму
ниже.
Более конкретно, когда @param
тег для конкретного
параметр отсутствует, тогда комментарий
для этого параметра копируется из
метод дальше по наследству
иерархия. Когда @throws
тег для
конкретное исключение отсутствует,
@throws
тег копируется только если
объявлено исключение.
Это поведение отличается от версии 1.3 и более ранних версий, где
наличие какого-либо основного описания или
тег помешает всем комментариям
наследуется.
Явно наследуйте комментарий с тегом {@inheritDoc}
- Вставьте
встроенный тег {@inheritDoc}
в
основное описание метода или @return
,
@param
или @throws
комментарий тега -
соответствующий унаследованный основной
описание или комментарий тега копируется
в это место.
Исходный файл для унаследованных
метод должен быть только на пути
указано -sourcepath
для
комментарий к документу, чтобы быть на самом деле
доступно для копирования. Ни один класс
ни его пакет должен быть передан в
в командной строке. Это контрасты
с 1.3.x и более ранними выпусками, где
класс должен был быть задокументирован
класс
Так что вам придется использовать <sourcepath>
необязательный параметр конфигурации плагина javadoc (который по умолчанию содержит источники проекта).
Кстати, <links/>
- это нечто иное, <links/>
используются для добавления перекрестных ссылок на внешние проекты. И на самом деле, они не должны использоваться для JDK. От Настройка ссылок :
Начиная с версии 2.6, будет добавлена ссылка на API Javadoc, в зависимости от версии JDK, используемой вашим проектом. Версия API Javadoc определяется по значению параметра <source/>
в org.apache.maven.plugins:maven-compiler-plugin
(определенном в ${project.build.plugins}
или в ${project.build.pluginManagement}
) или вычисляется с помощью исполняемый файл Javadoc Tool. Если вы хотите пропустить эту ссылку, вам нужно настроить <detectJavaApiLink/>
на false
.
Примечание: если вы используете неподдерживаемый JDK, такой как 7.0, вы можете добавить его URL Javadoc API с помощью параметра <javaApiLinks/>
, т.е.
<configuration>
<javaApiLinks>
<property>
<name>api_1.7</name>
<value>http://download.java.net/jdk7/docs/api/</value>
</property>
</javaApiLinks>
...
</configuration>
См. Параметр <links/>
для получения дополнительной информации.
При условии, что вы настроили уровень 1.6 source
в плагине компилятора, перекрестные ссылки на Java API просто работают (ссылки указывают на http://download.oracle.com/javase/6/docs/api/),, для Java API добавить нечего.
Ни то, ни другое не работает для меня. Мне пришлось добавить раздел ссылок, чтобы заставить работать перекрестные ссылки.
Weird. Вы на самом деле указали уровень компилятора source
, как описано? На всякий случай вот что у меня работает:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<configuration>
<!-- No need for this -->
<!--
<javaApiLinks>
<property>
<name>api_1.6</name>
<value>http://download.oracle.com/javase/6/docs/api/</value>
</property>
</javaApiLinks>
-->
<links>
<link>http://commons.apache.org/dbcp/apidocs/</link>
<link>http://commons.apache.org/fileupload/apidocs/</link>
</links>
</configuration>
</plugin>