2009-07-16 8 views
8

Mam sytuację, w której chciałbym wykonać javadoc w projekcie, który nie ma klas. Ma tylko pakiet-info.java dla jednej paczki. Podczas wykonywania javadoc następujący błąd jest podana:javadoc dla package-info.java only

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

Czy istnieje jakiś sposób, aby zmusić go do przetworzenia package-info.java tylko (oprócz oczywistych rozwiązań hacky: stworzenie obojętne klasę, skrypty kopiowanie package.html, itp.)?

Wykonuję javadoc jako część maven, więc wtyczka maven-javadoc wykonuje rzeczywistą komendę javadoc.

+0

Jeśli nie ma zajęć, dlaczego potrzebujesz pakietu javadoc? –

+0

Korzystam z narzędzia (konkretnie enunciate), które używa dokumentu pakietu jako sposobu dostosowania dokumentu "splash" dla większej witryny, która generuje. – StevenC

+0

Dokładniej, dlaczego pakiet istnieje, jeśli niczego nie zawiera? – harto

Odpowiedz

8

Nie ma sposobu na uruchomienie JavaDoc na pustym pakiecie. Jest tam naprawdę stary bug opublikowany dla tego oznaczony jako "Zamknięty, nie naprawi".

W tym błędzie obejście jest prawie oczywiste, o którym wspomniałeś, utwórz pustą klasę o domyślnym zakresie. Klasa nie zostanie włączona do javadoc, chyba że wymusisz na niej pakiet -package lub -private.

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

Należy zauważyć, że plik klasy ucznia java musi zawierać co najmniej jeden/** */komentarz, w przeciwnym razie obejście problemu nie obejmie problemu. – tgharold