plugin org mvn generate artifactid java maven javadoc

org - Javadoc en JDK 8: "elemento de cierre automático no válido" no válido



mvn execute javadoc (4)

Para eliminar los errores en los javaDocs simplemente reemplace:

  • <p/> con solo <p>
  • <br/> con solo <br>

Todo funciona bien después de la corrección de manera excepcional.

¿Cuáles son las mejores soluciones alternativas cuando se ejecuta javadoc con JDK 8 y uno recibe este error?

Parece que para JDK 8 se ha decidido que etiquetas como <br /> y <p /> deberían generar errores, porque son HTML 4. inválido (estricto). Consulte la lista de correo de JDK aquí.

Me pregunto, porque solo quería compilar un proyecto de Java usando Maven y tropecé con este problema. Por supuesto, puedo presentar un ticket con el proyecto (y supongo que lo haré), pero sería genial si hay una forma de deshabilitar este comportamiento (para una máquina). De lo contrario, espero que muchos proyectos tengan que repararse antes de que puedan construirse en JDK 8 sin problemas.


Para esos dos casos particulares, creo que la acción recomendada es sustituirlos con <p> . This es el enlace a la documentación de Oracle.


Si bien es posible desactivar la comprobación de errores con la opción -Xdoclint, no repara el problema, solo lo oculta. Para hacer documentos HTML4 válidos, las siguientes sustituciones son correctas.

  • Reemplace las etiquetas br de cierre automático con etiquetas br normales (<br /> con <br>)
  • Reemplace las etiquetas p vacías con etiquetas br (<p /> con <br>)
  • Asegúrese de que todas las etiquetas p tengan contenido y estén cerradas (<p> ... con <p> ... </p>)

Tomado de " What''s New in JDK 8 " de oracle.com:

La herramienta javac ahora tiene soporte para verificar el contenido de los comentarios de javadoc en busca de problemas que puedan generar varios problemas, como HTML no válido o problemas de accesibilidad, en los archivos que se generan cuando se ejecuta javadoc. La función está habilitada por la nueva opción -Xdoclint. Para más detalles, vea el resultado de ejecutar "javac -X". Esta característica también está disponible en la herramienta javadoc y está habilitada allí de forma predeterminada.

Ahora hice lo que me dijo que hiciera. En JDK 7, la salida de "javac -X" no menciona la opción -Xdoclint. Sin embargo, en JDK 8, da:

-Xdoclint:(all|none|[-]<group>)[/<access>] Enable or disable specific checks for problems in javadoc comments, where <group> is one of accessibility, html, missing, reference, or syntax, and <access> is one of public, protected, package, or private.

Entonces, ejecute la utilidad Javadoc de la siguiente manera:

javadoc.exe -Xdoclint:none <other options...>

En mi script, el error que mencionó desapareció al usar esta opción.