2009-07-16 3 views
8

У меня есть ситуация, когда я хочу выполнить javadoc в проекте, который не имеет классов. У него есть только package-info.java для одного пакета. При выполнении Javadoc, даются следующее сообщение об ошибке:javadoc только для package-info.java

An error has occurred in JavaDocs report generation:Exit code: 1 - javadoc: error - No public or protected classes found to document. 

Есть ли способ, чтобы заставить его обрабатывать package-info.java только (помимо очевидных Hacky решений: создание фиктивного класса, скриптовое копирование package.html и т. д.)?

Я выполняю javadoc как часть сборки maven, поэтому maven-javadoc-plugin выполняет действительную команду javadoc.

+0

Если нет классов, зачем вам пакет javadoc? –

+0

Я использую инструмент (специально провозглашающий), который использует пакетный документ как средство настройки «всплеска» документа для более крупного сайта, который он создает. – StevenC

+0

В частности, почему пакет существует, если он не содержит ничего? – harto

ответ

8

Невозможно запустить JavaDoc на пустой пакет. Существует действительно старый bug, размещенный для этой маркировки как «Закрыто, не будет исправлено».

В этой ошибке обходной путь в значительной степени является очевидным хакерским, о котором вы говорите, создайте пустой класс по умолчанию. Класс не будет включен в javadoc, если вы не заставите его быть с -package или -private.

/** hack to generate package javadoc */ 
class PlaceHolder {} 
+1

Обратите внимание, что файл класса java-файла placeholder должен иметь хотя бы один/** */комментарий, иначе обходной путь не будет работать вокруг проблемы. – tgharold

Смежные вопросы