Maven-javadoc-plugin
Qué es Maven Javadoc Plugin[editar]
Maven Javadoc Plugin es una herramienta esencial para proyectos Java que genera documentación a partir de los comentarios en el código fuente. En este tutorial, exploraremos algunas de las opciones avanzadas más útiles para optimizar y personalizar la generación de Javadoc en tu proyecto Maven.
Configuración Básica[editar]
Debes añadir el plugin maven-javadoc-plugin en tu pom.xml. Hay dos posibles sitios para hacerlo, dentro del bloque <reporting>
o dentro del bloque <build>
Si lo haces dentro del bloque <reporting>
, el documento javadoc se generará cuando generes la documentación web de tu proyecto con el comando mvn site
. maven-site-plugin se encargará de generar el documento javadoc e incluirlo como un informe más en la documentación del proyecto.
Si lo haces en el bloque <build>
, tendrás que generar la documentación javadoc con el comando mvn javadoc:javadoc
, sin necesidad de generar la documentación completa del proyecto.
Puedes optar por una, por otra o por ambas, según tus necesidades. Veamoslas.
build plugins[editar]
Añade el plugin en la sección build de tu archivo `pom.xml`:
<project>
..
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.6.2</version>
</plugin>
..
</plugins>
..
</build>
..
</project>
reporting plugins[editar]
En la sección reporting
<project>
..
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.6.2</version>
</plugin>
..
</plugins>
..
</reporting>
..
</project>
Configurar la generación de javadoc[editar]
Hay muchas opciones para configurar la generación de javadoc. Veamos algunas de ellas.
Excluir/Incluir Paquetes[editar]
Puedes especificar qué paquetes documentar o excluir utilizando los parámetros `excludePackageNames` y `includePackageNames` respectivamente:
<configuration>
<excludePackageNames>com.example.exclude.*</excludePackageNames>
<includePackageNames>com.example.include.*</includePackageNames>
</configuration>
Seleccionar Fuentes para Javadoc[editar]
maven-javadoc-plugin busca los fuentes para generar la documentación en los directorios habituales de un proyecto maven. Si los fuentes estuvieran ubicados en otros directorios, podemos indicar dónde están.
<configuration>
<sourcepath>my/path/src/java</sourcepath>
</configuration>
Generar nuestra propia documentación[editar]
maven-javadoc-plugin usa una la clase StandardDoclet
para generar la documentación html de nuestros fuentes java. Esta clase impelementa la interface jdk.javadoc.doclet.Doclet
.
Si en un proyecto separado hacemos nuestra propia implementación de esa interface con una clase, por ejemplo DocletExample
, podemos indicarle a maven-javadoc-plugin que la use en lugar de StandardDoclet
. Esto nos permitirá generar la documentación a nuestro gusto o generar cualquier otro tipo de informe.
La configuración sería
<configuration>
<doclet>com.chuidiang.DocletExample</doclet>
<docletArtifact>
<groupId>com.chuidiang</groupId>
<artifactId>maven-doclet</artifactId>
<version>1.0-SNAPSHOT</version>
</docletArtifact>
<useStandardDocletOptions>false</useStandardDocletOptions>
<additionalOptions>
<additionalOption>-myCustomOption</additionalOption>
<additionalOption>MyOption</additionalOption>
</additionalOptions>
</configuration>
Donde
com.chuidiang.DocletExample
es el nombre de la clase que implementajdk.javadoc.doclet.Doclet
com.chuidiang
es el groupId del proyecto maven donde tenemos esa clase.maven-doclet
es el artifactId del proyecto maven donde tenemmos esa clase.1.0-SNAPSHOT
es la version del proyecto maven donde tenemos esa clase.
Adicionalmente, hemos puesto
useStandardDocletOptions
afalse
. Si lo dejamos con su valor por defectotrue
, nuestra clase tendrá que tratar todas las opciones estándar deStandardDoclet
. Poniéndolo afalse
no estamos obligados a tratar esas opciones.additionalOptions
para añadir, si queremos, opciones propias para nuestra clase.
Conclusión[editar]
El Maven Javadoc Plugin ofrece una amplia variedad de opciones para personalizar la generación de documentación en tu proyecto. Al utilizar estas opciones avanzadas, puedes crear documentación más rica y adaptada a las necesidades específicas de tu aplicación Java. Experimenta con estas configuraciones para optimizar la documentación de tu código y facilitar la comprensión y colaboración en tu equipo de desarrollo.