Wie kann ich eine Ant Javadoc-Klasse dazu bringen, zwei Dateien auszuschließen?

9

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

%Vor%

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

hinzugefügt %Vor%

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.

    
Freiheit 19.05.2011, 15:22
quelle

2 Antworten

6

%Vor%

..................

Ich denke, dass Ihr Fehler die Tags "sourcefiles" und "sourcepath" sind. Versuche sie zu entfernen. Weitere Informationen finden Sie hier: Ссылка

Viel Glück!

    
AlexR 19.05.2011, 15:31
quelle
2

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:

  1. Dokumentenpakete
  2. Dokumentieren Sie einzelne Klassen

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: - (

    
Harald 29.10.2015 16:56
quelle

Tags und Links