Ich dokumentiere einige Java Webservices und die unterstützenden Datentypen. Es gibt zwei Dienste, die ich nicht dokumentiert haben möchte. Was ist der richtige Weg, um eine kleine Anzahl von Dateien von der Ant-Javadoc-Aufgabe auszuschließen?
Ich habe mehrere Iterationen mit verschachtelten Dateien oder Dateigruppen unter Quellpfad oder Quelldateien mit verschiedenen Kombinationen von Einschluss und Ausschluss versucht.
Das von mir definierte Basisziel dokumentiert alle meine Webservices:
%Vor%Einige Variationen, die ich versucht habe, sind:
%Vor% Dieser Fehler mit javadoc.exe CreateProcess error=87, The parameter is incorrect
Gleicher Fehler wie Quelldateien, aber viele Nachrichten haben die Meldung skipping <somefile> since it is no directory
.
Ich habe ähnliche Variationen mit <files>
anstelle von <fileset>
versucht.
Ich glaube, mir fehlt ein grundlegendes Verständnis dafür, wie Werke eingeschlossen / ausgeschlossen werden. Danke für Ihre Hilfe!
AlexR verstand es nicht ganz, kam aber näher. Ich habe <sourcepath>
entfernt und
Da nur eine Dateigruppe vorhanden war, hat javadoc sich beschweren müssen, dass es keine Pakete finden konnte. Packageset verhält sich wie ein Dirset, daher können einzelne Dateien nicht ausgeschlossen werden, nur Verzeichnisse. In diesem Fall konnte ich ein Paketset für einen Satz von Doco und ein Dateiset für den eingeschränkten Satz definieren und es umgehen.
Ich hatte gerade das gleiche Problem und habe ein wenig in man javadoc
gegraben, um zu dem Schluss zu kommen, dass es keine Lösung gibt, außer der Problemumgehung, die im OP-Fall passiert ist. Dennoch möchte ich dokumentieren, was ich aus den Dokumenten gelesen habe.
Ant's javadoc
Aufgabe ist nur ein Wrapper um Javas javadoc
, daher gilt die Dokumentation der letzteren. Insbesondere scheint javadoc
zwei sauber getrennte Konzepte zum Erzeugen von Dokumentationen zu haben:
Für (1) geben wir Paketnamen wie my.nice.package und -sourcepath
an, damit javadoc
diese Pakete finden kann. Mit ant können die Namen entweder als packagenames
oder als packageset
angegeben werden, wobei letzterer Pfadnamen in Paketnamen konvertiert (Schrägstrich zu Punkt).
Für (2) geben wir Dateipfade an, möglicherweise mit Platzhaltern. Dann wird jede einzelne Datei dokumentiert. Bei ant erfolgt dies über eine verschachtelte fileset
, die es uns ermöglicht, Dateien auszuschließen.
Nun scheint es, dass zwei Dinge in javadoc
nicht gut zusammenspielen.
a) Beim Dokumentieren von Paketen gibt es keine Möglichkeit, einzelne Dateien auszuschließen.
b) Beim Dokumentieren einzelner Dateien werden die Pakete nicht dokumentiert, was bei Verwendung von {@link my.package}
zu Fehlermeldungen über falsche Verweise auf Paketnamen führt.
Suchen Sie nach Dokumentieren Sie beide Pakete und Klassen in man javadoc
, um zu sehen, wo ich dieses fror lese.
Dies ist ein Jahrzehnt altes Problem , es scheint: - (