2011-01-17 3 views
19

Wenn ich Javadocs für ein neues, unbekanntes Projekt erstellen muss, verbringe ich lange Zeit damit, den richtigen Befehl zu schreiben, indem ich alle Pakete, alle Quellbäume usw. festlege. Es ist zeitaufwendig und fehler- anfällig: Ich vermisse wahrscheinlich eine Quelle.Generischer Javadoc-Befehl, der immer alle Javadocs in einem bestimmten Baum generiert?

Also sagen wir, ich habe ein Verzeichnis myproj, und darunter sind ein paar Pakete (und verschiedene andere Ressourcen und Zeug), und unter diesen Paketverzeichnisse gibt es schließlich einige src/Verzeichnisse, und dann viele von mir/genial/java/Projekt/Pakettyp Strukturen.

Gibt es einen einzigen Befehl, der immer über ALLES rekurriert und ALLE Javadocs an einem Ausgabeplatz erzeugt? Es ist mir egal, wie lange es dauert. Etwas hirntot wie javadoc -d doc -sourcepath . -subpackages * wäre großartig. Failing das, was ist der einfachste Weg, um alle Javadocs zu generieren, egal, was die Verzeichnisstruktur ist?

Antwort

27

Verwenden find alle Java-Quelldateien zu finden und schicken sie dann zu javadoc:

find . -type f -name "*.java" | xargs javadoc -d outputdir 
+1

Für zusätzliche Markierungen, ein Befehl, der auf XP funktioniert? (Das war sehr lahm von mir, um es nicht zu erwähnen.) Will MKS es, wenn nicht anders möglich. –

+0

Yay, das hat funktioniert. (Eine Stunde Gnuwin32 zu installieren ... wer wusste?) –

+0

besser werfen einige Argumente Speicher dort sicher sein: finden. -type f -name "* .java" | xargs javadoc -d outputdir -J-ms39m -J-mx40m –

17

Unter Windows Sie es wie folgt tun:

Dateiliste generieren:

dir /s /b *.java > file.lst 

Generiere javadoc:

javadoc -d outputdir @file.lst 
+1

Ausgezeichnete, native, funktional äquivalente Alternative zu den oben genannten. –

+0

Gibt es eine Möglichkeit, Javadoc die Indexliste aller Pakete zu generieren, nachdem diese Methode verwendet wurde. Mit der einfachen Methode "javadoc -d [dir] @ [file]" gibt es keinen Index. – JasonRobinson

Verwandte Themen