2011-01-17 14 views
19

Quando devo generare javadoc per un nuovo progetto sconosciuto, trovo che passo molto tempo a cercare di scrivere semplicemente il comando corretto, specificando tutti i pacchetti, tutti gli alberi di origine, ecc. Richiede molto tempo ed errori prono: probabilmente mi manca qualche fonte.Comando javadoc generico che genera sempre tutti i javadoc in un dato albero?

Quindi diciamo che ho una directory myproj, e al di sotto ci sono alcuni pacchetti (e varie altre risorse e roba), e sotto quelle directory di pacchetti ci sono infine alcune directory/src e poi molti dei miei/fantastici/java/project/package type structures.

Esiste un unico comando che riceva sempre su TUTTO e genera TUTTI i javadoc in una posizione di uscita? Non mi interessa quanto ci vuole. Qualcosa di cerebrale come javadoc -d doc -sourcepath . -subpackages * sarebbe fantastico. In caso contrario, qual è il modo più semplice per generare tutti i javadoc, indipendentemente dalla struttura della directory?

risposta

27

Usa find per trovare tutti i file sorgente Java e poi inviarli a javadoc:

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

Per i contrassegni aggiuntivi, un comando che funziona su XP? (Questo è stato molto scortese da parte mia, per non menzionarlo.) MKS se non fosse possibile altrimenti. –

+0

Yay, ha funzionato. (Un'ora per installare gnuwin32 ... chi lo sapeva?) –

+0

meglio gettare alcuni argomenti di memoria lì per essere sicuri: trovare. -tipo f -name "* .java" | xargs javadoc -d outputdir -J-ms39m -J-mx40m –

17

Su Windows si può fare in questo modo:

generare l'elenco di file:

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

Genera javadoc:

javadoc -d outputdir @file.lst 
+1

Eccellente, nativa, un'alternativa funzionalmente equivalente a quanto sopra. –

+0

C'è un modo per ottenere Javadoc per generare l'elenco degli indici di tutti i pacchetti dopo aver usato questo metodo. con il semplice metodo "javadoc -d [dir] @ [file]" non c'è indice. – JasonRobinson