Per quanto ne so, è possibile filtrare solo a livello di pacchetto. Tuttavia Javadoc viene generato solo per tipi pubblici e protetti. Se i tipi hanno un ambito predefinito o privato, non avranno generato javadoc per loro. Rendendoli con scope di default si intende che sono ancora visibili ad altri tipi nel pacchetto. Se non si desidera javadoc, probabilmente non si vuole che le persone usino questi tipi, quindi questo è probabilmente un buon margine per farlo comunque.
La configurazione excludePackageNames consente i caratteri jolly. Quindi, purché tu abbia una convenzione sul nome del pacchetto che consente questo, puoi escludere la maggior parte dei pacchetti.
Dire di avere questi pacchetti.
com.foo
com.foo.api
com.foo.internal
com.foo.internal.core
com.foo.internal.util
com.foo.internal.ui
com.foo.ui
e desideri solo esporre foo, foo.api e foo.ui, questo modello funziona:
<excludePackageNames>com.foo.internal.*:com.foo.bob</excludePackageNames>
Si potrebbe in alternativa spostare i tipi di offendere in pacchetti separati, ma questo non è una buona ragione per farlo.
Qual è il problema con la generazione di javadoc per questi tipi?
fonte
2009-07-28 18:11:24
Nota Risposta RCross 'sotto. È la correzione esatta OP richiesta, anche se in una data molto più tardi della risposta accettata. –
Sì, la possibilità di farlo è stata aggiunta a maven-javadoc-plugin nel settembre 2012, alcuni anni dopo che la risposta accettata è stata inviata! – RCross